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

Выполнить плановый switchover через Patroni

PostgreSQLPatroni

Команда

# Immediate switchover without confirmation:
patronictl -c /etc/patroni/patroni.yml switchover <cluster> --leader <leader_member> --candidate <member> --force
# Scheduled switchover (ISO 8601 timestamp with time zone):
patronictl -c /etc/patroni/patroni.yml switchover <cluster> --leader <leader_member> --candidate <member> --scheduled '2026-10-10T02:00:00+03:00' --force
# Cancel a pending scheduled switchover:
patronictl -c /etc/patroni/patroni.yml flush <cluster> switchover

Что делает

Контролируемо понижает исправного leader и повышает выбранную реплику (--candidate); бывший leader автоматически подключается как реплика нового leader. --scheduled откладывает операцию до указанного времени.

Когда использовать

Чтобы перенести primary на другой узел перед обслуживанием (патчинг ОС, замена оборудования, обновление минорной версии) или восстановить исходные роли после failover.

Внимание

При смене leader все подключения разрываются; приложение должно уметь переподключаться. Patroni отклоняет switchover, если отставание кандидата превышает maximum_lag_on_failover. При включённом synchronous_mode кандидат должен быть синхронным standby.

Открыть в DBAtlas →

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