DBAtlas · データベース運用アトラス

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>

概要

リーダーの状態にかかわらず指定したレプリカを昇格する。自動フェイルオーバーが発生しなかった、または誤ったノードを選択した場合を想定している。

使用する場面

リーダーに到達できない/異常であり、自動フェイルオーバーが作動しなかったとき(例: pauseモード)、または特定のノードへの移動を強制する必要があるときに。

注意

非同期レプリケーションでは、候補がまだ受信していないトランザクションは失われる(RPO > 0)。リーダーが正常な場合は、フェイルオーバーではなくスイッチオーバーを使用する。旧リーダーが復帰したとき、pg_rewind(use_pg_rewindが有効な場合)またはreinitが必要になる場合がある。

DBAtlas で開く →

関連項目