Комментарии 5
Сложновато.
Для случая с одной репликой можно обойтись обычными vIP, мигрирующими между хостами с помощью keepalived.
Он требует внешнего DCS (etcd, Consul или ZooKeeper). Если Patroni уже есть — пользуйтесь его API. Если нет — разворачивать весь стек ради discovery избыточно.
DCS это прежде всего защита от сплитбрейн. Так что тут есть смысл и разворачивать его совсем не избыточно, дело не только в autodiscovery.
Утилита интересная, только кажеться, что писать такое на Си в 26 году это оверкил, но снимаю шляпу)
Как можно использовать pg-status в связке с haproxy? Есть ли готовые сценарии?
Кстате для автоматической генерации конфига haproxy если используется patroni вполне удобно использовать confd, который ходит в etcd/consul за топологией и обновляет haproxy.conf на основе шаблона.

Три задачи discovery при работе с PostgreSQL master/replica — и как их решить