У PostgreSQL у вас є дві різні області, які можуть робити об'єднання, або на рівні програми (наприклад, jdbc, вбудований в об'єднання тощо), або в проміжному шарі, що знаходиться між додатком і db (s), наприклад pgbouncer або pgpool.
Якщо ви об'єднуєте в проміжний шар, наприклад, pgbouncer або pgpool, то цей шар може ТАКОЖ завантажувати балансування вибраних запитів. Далі, коли балансує завантаження, ви можете робити записи одним із двох способів: ви можете мати єдиний майстер запису, який реплікує за допомогою інших засобів на ваші зчитувані раби, використовуючи такий інструмент, як неохайний, або вбудовану потокову реплікацію, що з’явилася в pg 9.0 і вище, або ви можете змусити балансир навантаження виконати всі записи, так що вхідні зчитування потрапляють лише на один db, але записують удари по кожній базі даних, щоб постійно оновлювати їх.
Або якщо ви рівномірна, ви можете перемістити балансуючий шар навантаження вниз по іншому шару в самому postgresql, використовуючи plproxy. Це мова pl для pgsql, призначена для того, щоб ви могли поставити одну базу даних pg на передній частині, яка не має в ній фактичних даних, і ця база може потім працювати над декількома, можливо, зайвими dbs для неймовірної пропускної здатності. plpoxy є досить складним для налаштування та роботи, але він також досить масштабований. Зауважте, що ваша програма повинна бути переписана для її підтримки, щоб її не можна було перекинути під будь-яку стару програму та просто працювати.
http://slony.info/
http://wiki.postgresql.org/wiki/PL/Proxy
http://pgpool.projects.postgresql.org/