Con PostgreSQL, tiene dos áreas diferentes que pueden agrupar, ya sea en la capa de la aplicación (es decir, jdbc integrado en la agrupación, etc.) o en una capa intermedia que se encuentra entre la aplicación y la base de datos, como pgbouncer o pgpool.
Si agrupa en una capa intermedia, como pgbouncer o pgpool, entonces esa capa TAMBIÉN puede hacer el equilibrio de carga de consultas seleccionadas. Además, al equilibrar la carga, puede hacer escrituras de una de dos maneras: puede tener un solo maestro de escritura que se replica por otros medios a sus esclavos de lectura, utilizando una herramienta como slony o la replicación de transmisión integrada que apareció en la página 9.0 o superior, o puede hacer que el equilibrador de carga haga toda la escritura, de modo que las lecturas entrantes lleguen a un solo db, pero las escrituras golpeen cada base de datos para mantenerlas actualizadas.
O si eres advenidor, puedes mover la capa de equilibrio de carga hacia abajo otra capa en postgresql usando plproxy. Este es un lenguaje pl para pgsql diseñado para permitirle colocar una base de datos pg en el front end que no tiene datos reales, y esa base de datos puede ejecutarse sobre múltiples dbs posiblemente redundantes para un rendimiento increíble. Plpoxy es bastante complejo para configurarlo y ejecutarlo, pero también es bastante escalable. Tenga en cuenta que su aplicación debe reescribirse para admitirla, de modo que no se pueda lanzar bajo ninguna aplicación anterior y simplemente funcione.
http://slony.info/
http://wiki.postgresql.org/wiki/PL/Proxy
http://pgpool.projects.postgresql.org/