Leider können Sie eine Webseite aus Sicherheitsgründen nicht direkt mit einer Datenbank verbinden. Normalerweise benötigen Sie Middleware, um die beiden zusammenzuführen.
In Ihrem Beispiel und wenn Sie sich an die Open Source-Software halten möchten, können Sie GeoServer problemlos als geografischen Server verwenden, um Ihre Daten aus Ihrer PostGIS-Datenbank auf Ihre OpenLayers-HTML-Webseite zu übertragen.
Dies ist gut, weil GeoServer die Daten auf standardmäßige Weise bereitstellt, OGC Web Map Server (WMS) oder Web Feature Service (WFS). Beide werden von OpenLayers und vielen anderen APIs (ESRI, Leaflet usw.) und anderen Desktops verstanden GIS-Software (ESRI, MapInfo, QGIS, uDig usw.)
Ich würde mir also zunächst die GeoServer-Dokumentation ansehen, in der Sie erfahren, wie Sie GeoServer mit PostGIS verbinden und dann die Daten bereitstellen.
http://docs.geoserver.org/stable/en/user/gettingstarted/index.html
Wenn Sie mit solchen Dingen noch nicht vertraut sind, gibt es keinen besseren Ausgangspunkt als die OpenGeo-Tutorials
http://workshops.opengeo.org/
Ich würde mich definitiv an Ihre Daten in PostGIS halten, wenn
a) Sie haben viele Daten b) Sie möchten Abfragen ausführen (wie Sie) und c) wenn viele Leute Ihre App verwenden werden
Wenn Sie Abfragen ausführen möchten, würde ich mir Web Processing Services (WPS) ansehen. Diese sind noch "neu", werden jedoch in GeoServer unterstützt.
Wenn Sie jedoch über eine kleine Datenmenge verfügen und die Abfragen vorab ausführen und dann einfach OpenLayers zum Anzeigen verwenden können, sollten Sie sich an die Verwendung von GeoJSON aus einer Flatfile halten oder sich TopoJSON ansehen, das mit der D3-Javascript-Bibliothek immer beliebter wird. siehe hier http://bost.ocks.org/mike/map/ Das Tutorial von Mike Bostock ist großartig.
Ich hoffe, das hilft