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

概要

正常なリーダーを制御された方法で降格し、選択したレプリカ(--candidate)を昇格する。旧リーダーは新リーダーのレプリカとして自動的に再参加する。--scheduledは操作を指定時刻まで延期する。

使用する場面

メンテナンス(OSパッチ、ハードウェア交換、マイナーバージョンアップグレード)前にプライマリを別ノードへ移す、またはフェイルオーバー後に元のロールに戻すため。

注意

リーダーが変わるとすべての接続が切断されるため、アプリケーションは再接続できる必要がある。候補の遅延がmaximum_lag_on_failoverを超える場合、Patroniはスイッチオーバーを拒否する。synchronous_modeが有効な場合、候補は同期スタンバイである必要がある。

DBAtlas で開く →

関連項目