В кластере PostgreSQL WAL-логи (журналы предзаписи) сохраняются в течение трёх часов. По истечении этого времени старые WAL-логи удаляются, что ограничивает возможности восстановления реплик, отставших по времени более чем на этот срок. Если реплика отстала настолько, что не может получить необходимые WAL-логи, она теряет возможность синхронизации с текущим состоянием кластера и не сможет самостоятельно восстановиться.
Чтобы посмотреть текущий статус, откройте страницу haproxy: http://vip_infra:7003/

dc-1-infra-ha-01 не является мастером и не может стать мастером — реплика не работает.
Чтобы проверить работу реплики, зайдите на ВМ infra и выполните команду:
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml list

Если реплика не может восстановится самостоятельно, выполните следующие действия:
1. Зайдите на соответствующий сервер infra.
2. Остановите БД и удалите реплику:
docker stop pgsql
sudo rm -rf /var/lib/dion/infra/pgsql/main/
docker start pgsql
3. Выполните проверку:
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml list

Полезные команды:
Чтобы просмотреть список членов etcd:
docker exec -i infra_etcd etcdctl member list
Чтобы сменить мастера:
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml switchover --leader dc-2-infra-ha-01 --candidate dc-1-infra-ha-01
Чтобы добавить нового члена etcd:
docker exec -i infra_etcd etcdctl member add dc-1-infra-ha-new --peer-urls=http://10.0.19.100:2380 --endpoints=http://10.0.19.100:2379