・環境
3ノード構成であり、プライマリノードは「20-vcd-11」
・レプリケーション設定
確認対象ファイル:/var/vmware/vpostgres/current/pgdata/postgresql.conf
セル3台が正常に稼働している時は以下のような設定となっている
wal_level = replica max_wal_senders = 10 synchronous_commit = on synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12")'
・スタンバイセルのリストア時のレプリケーション設定(synchronous_standby_names )について
①正常時
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12")'
②セル「20-vcd-12」削除時
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12")'
削除したセルの情報が設定から削除されていない
③セル「20-vcd-12」リストア時
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12","20-vcd-12")'
リストアしたセルが2重に登録されてしまう
④数分経過後
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12")'
重複していた登録が削除される
古いセルを削除してから120分経過後に登録が削除される
・2重登録による懸念点
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12","20-vcd-12")'
といった状態のときに、2重登録されている「20-vcd-12」へフェイルオーバーすると、プライマリへ昇格する「20-vcd-12」が削除され以下のようになる
synchronous_standby_names = 'ANY 1 ("20-vcd-13","20-vcd-12")'
スタンバイとしてプライマリとなっているセル「20-vcd-12」も指定されてしまっている構成になり、GUIアクセスが不可になるなどの挙動がみられた