Sfortunatamente non è possibile connettere una pagina Web direttamente a un database a causa di problemi di sicurezza, normalmente è necessario un middleware per unire i due.
Quindi, per il tuo esempio e se vuoi restare fedele al software Open Source, puoi facilmente utilizzare GeoServer come server geografico per servire i tuoi dati dal tuo database PostGIS alla tua pagina web HTML OpenLayers.
Perché questo è positivo è che GeoServer fornirà i dati in modo standard, OGC Web Map Server (WMS) o Web Feature Service (WFS) ed entrambi sono compresi da OpenLayer e molte altre API (ESRI, Leaflet ecc.) E altri desktop Software GIS (ESRI, MapInfo, QGIS, uDig ecc.)
Quindi guarderei la documentazione di GeoServer per iniziare, che ti guida attraverso come collegare GeoServer a PostGIS e quindi servire i dati.
http://docs.geoserver.org/stable/en/user/gettingstarted/index.html
Se sei nuovo a questo tipo di cose, non c'è posto migliore per iniziare rispetto ai tutorial di OpenGeo
http://workshops.opengeo.org/
Rispetterei sicuramente se i tuoi dati fossero in PostGIS
a) hai molti dati b) vuoi eseguire query (come fai tu) ec) se molte persone useranno la tua app
Se hai intenzione di eseguire query, guarderei i servizi di elaborazione Web (WPS), che sono ancora "nuovi", ma sono supportati in GeoServer.
Se tuttavia hai una piccola quantità di dati e puoi pre-eseguire le query e quindi utilizzare OpenLayers per la visualizzazione, allora dovresti continuare a utilizzare GeoJSON da un file flat o anche guardare TopoJSON che sta guadagnando molta popolarità con la libreria javascript D3 - vedi qui http://bost.ocks.org/mike/map/ Il tutorial di Mike Bostock è fantastico.
spero che aiuti