データベース高可用性クラスタのプライマリ ノードで障害が発生し、新しいプライマリを昇格する場合は、障害が発生したプライマリ ノードを登録解除し、クラスタから削除して、クラスタ ステータスのデータの不整合な状態を回避します。

前提条件

  • 実行されていないプライマリ ノードを登録解除するには、ノード ID を指定する必要があります。IP アドレスを見つけるには、クラスタのステータスを確認して、ノードを特定します。この行の Connection string 列のホスト値を使用してノードの IP アドレスを特定します。データベース高可用性クラスタのステータスの確認を参照してください。
  • 障害が発生したプライマリが、非アクティブになっていて、次のスタンバイ ノードがないことを確認して、新しいプライマリを昇格します。

手順

  1. クラスタで実行されているいずれかのノードの OS に、root としてログインするか、SSH で接続します。
  2. ユーザーを postgres に変更します。
    sudo -i -u postgres
  3. (オプション) ノードの登録解除の前提条件が満たされていることを確認するには、--dry-run オプションを指定して次のコマンドを実行します。
    /opt/vmware/vpostgres/current/bin/repmgr primary unregister --node-id=node ID --dry-run
  4. ノードを登録解除します。
    /opt/vmware/vpostgres/current/bin/repmgr primary unregister --node-id=node ID

結果

この操作を行うと、 repmgr メタデータからノードが削除されます。