Если для удаленных расположений требуется доступ только для чтения к данным, вы можете довольно легко настроить асинхронную репликацию, используя доставка журналов , которая является встроенной функцией PostgreSQL. В этой конфигурации главный сервер сбрасывает файлы WAL (журнал записи с опережением) в общую папку, где удаленные серверы могут периодически подключаться и читать журналы, чтобы обновляться.
Если все серверы выполняют запись независимо, то вам нужно асинхронная репликация с несколькими хозяевами . Документы Postgres упоминают Bucardo и rubyrep в качестве вариантов для достижения этой цели. Согласно документам, оба ограничены репликацией мастер-мастер (или мастером на несколько ведомых), но у Bucardo предположительно есть истинная репликация с несколькими хозяевами, запланированная для версии 5.0, и rubyrep упоминает метод для хранения синхронизировано несколько серверов.
(у меня есть серверы, использующие функции доставки журналов и потоковой репликации PostgreSQL, но я не имею прямого опыта работы с Bucardo или rubyrep.)