Нужно хорошо понимать, для чего вам нужен кластер.
1. Просто HA (если одна из нод вышла из строя, то чтобы система продолжала работать)
2. Масштабирование read-only нагрузки и OLAP запросов
3. Масштабирование read-write нагрузки (OLTP запросы)
Для 1) Постгрес предлагает набор "Сделай сам" - репликация с помощью потусторонних тулзов (Патрони, Сталон, ...)
2) Можно сдедать с помощью той репликации (hot standby).
Но для OLAP лучше подходят специализированные решения типа CitusDB, TimescaleDB, GreenPlum или даже Postgres-XL. Для облаков есть Amazon RDS и Aurora.
Для того, чтобы выполнять на репликах read-only запросы надо их как-то уметь отделять от апдейтов. Это можно делать на уровне приложения или с помощью pgbpool/pgbouncer-rr.
Или же использовать pgpro:multimaster
3) обязательно подразумевает шардинг - т.е. горизонтальное партицирование. Эффективнее всего это делать на уровне приложения. Но если не возможно или не хочется, то можно использовать CitusDB, pgpro:pg_shardman
Только насчёт 1) стоит учитывать, что даже синхронная репликация не гарантирует отсутствие потери транзакций при disaster, а насчёт 2) — что эта репликация не ACID (я лично видел, как на этом потеряли "немножко" денег, не перепроверив отчёт, например).
А уж 3) может принести ворох дополнительных проблем, даже если пользоваться помощью сторонних решений.