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를 제어된 방식으로 강등하고 선택한 replica(--candidate)를 승격한다. 이전 leader는 자동으로 새 leader의 replica로 재합류한다. --scheduled는 작업을 지정한 시각으로 미룬다.
사용 시점
유지보수(OS 패치, 하드웨어 교체, 마이너 버전 업그레이드) 전 primary를 다른 노드로 옮기거나, 페일오버 후 원래 역할로 되돌릴 때.
주의
leader가 바뀌면 모든 연결이 끊어지므로 애플리케이션이 재연결할 수 있어야 한다. 후보의 lag가 maximum_lag_on_failover를 초과하면 Patroni는 스위치오버를 거부한다. synchronous_mode가 활성화되어 있으면 후보는 synchronous standby여야 한다.