Переключение master -> slave при failover и обратно

440hz

php.ru
имеем мастер и 2 слейва (read-only). WAL Sync Streaming Replication

есть ли решения, что бы при отказе мастера автоматически переключиться на слейв и сделать его мастером? гуглил, но что-то таких решений не нашел.

собственно нужно отказоустойчивое решение, что бы при падении любого сервера все продолжало работать.

может иметь PGPool II в режиме синхронизации?

кто чем пользуется?
 

bvv20

Новичок
Недавно решали схожую задачу - мастер БД на PostgreSQL и 3и слейва.
Изначально сделали полную master-master репликацию - производительность упала
очень сильно ( запросы стали выполнятся в 10-20 раз медленнее, сервера были в разных странах ).
в итоге от pgpool2 отказались. Со slony тоже не сложилось ( точно причину не помню ).

Далее сделали своими силами watchdog, который постоянно мониторил состояние серверов
и делал автоматическое переключение slave в мастер. Столкнулись с тем, что
периодически сервера друг друга не видели ( были в разных странах, видимо иногда были проблемы со связью не проходил).
Были ситуации, когда появлялось сразу несколько мастер серверов и мы получали рассинхронизацию данных.
Дальше этот вариант допиливать не стали и остановились на мастер-слейв репликации + оповещении ( смс )
если мастер падал.
 
Сверху