DBAtlas · 데이터베이스 운영 아틀라스

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여야 한다.

DBAtlas에서 열기 →

관련 항목