(バージョン pgpool-II-pg93-3.4.0-3pgdg.rhel6.x86_64.rpm)
しばらく前からこれについてオンラインでチャットを見たことがありますが、解決策は見つかりませんでした。
ストリーミング レプリケーションと負荷分散を実行している 2 つの pgpool サーバーがあります。それらは 3 つの postgres サーバーに接続します。2 台は仮想マシンで、1 台は物理マシンです。
物理マシンをマスター サーバーにすることをお勧めします。pcp_promote_node コマンドを使用してテストを行ったところ、show pool_nodes; プライマリとして選択したノードを示していますが、postgres 側ではコマンド SELECT pg_is_in_recovery(); そのサーバーがまだ回復中であることを示します。
pcp_promote コマンドが行うのは、マスター ノードの切り離しだけです。これにより、DB への挿入が防止されます。
次に、マスターに障害が発生した場合、別のサーバーがマスターになりますが、他のスレーブはこれを知らず、新しいマスターから復元するまで新しいデータを複製しません。
上記の 2 つの問題の回避策はありますか。また、ログなどの詳細情報が必要な場合はお知らせください。
ありがとう