DBAtlas · Атлас эксплуатации баз данных

Выполнить ручной 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.

Открыть в DBAtlas →

Связанные материалы