Patroniをメンテナンスモードにし、元に戻す(pause/resume)
PostgreSQLPatroniコマンド
# Maintenance mode: automatic failover and Patroni's control over PostgreSQL stop
patronictl -c /etc/patroni/patroni.yml pause <cluster> --wait
patronictl -c /etc/patroni/patroni.yml list <cluster> # should show 'Maintenance mode: on'
# ... maintenance work (e.g. manual PostgreSQL restart, DCS maintenance) ...
patronictl -c /etc/patroni/patroni.yml resume <cluster> --wait概要
クラスタをメンテナンスモードにする: Patroniは自動フェイルオーバーを行わず、停止したPostgreSQLを再起動しない。resumeで通常の管理に戻る。
使用する場面
DCS(etcd/Consul)のメンテナンス、Patroniのアップグレード、Patroniの介入なしにPostgreSQLを手動で管理する必要があるときに。
注意
pause中にプライマリがクラッシュすると自動フェイルオーバーは行われず、停止が続く。メンテナンス後のresumeを忘れない。アラートに'Maintenance mode'のチェックを追加する。pause中にPostgreSQLを手動でプライマリとして起動すると、スプリットブレインが発生する可能性がある。