Выполнить ручной failover через Patroni
PostgreSQLPatroniКоманда
# Manual failover while the leader is unhealthy (candidate is mandatory):
patronictl -c /etc/patroni/patroni.yml failover <cluster> --candidate <member> --force
# Verify the result and the new timeline:
patronictl -c /etc/patroni/patroni.yml list <cluster>
patronictl -c /etc/patroni/patroni.yml history <cluster>Что делает
Повышает указанную реплику независимо от состояния leader; предназначено для случаев, когда автоматический failover не произошёл или выбрал не тот узел.
Когда использовать
Когда leader недоступен/неисправен, а автоматический failover не сработал (например, в режиме pause), или когда нужно принудительно перейти на определённый узел.
Внимание
При асинхронной репликации транзакции, ещё не полученные кандидатом, теряются (RPO > 0). Если leader исправен, используйте switchover вместо failover. Когда старый leader вернётся, ему может потребоваться pg_rewind (если включён use_pg_rewind) или reinit.
Связанные материалы
- Показать состояние, топологию и историю кластера Patroni
- Выполнить плановый switchover через Patroni
- Пересоздать сломанную реплику через Patroni (reinit)
- Изменить параметры всего кластера в Patroni (edit-config) и применить ожидающие перезапуски
- Перевести Patroni в режим обслуживания и обратно (pause/resume)
- Проверить работоспособность DCS Patroni (etcd/Consul) и REST API