[pgpool-general-jp: 1408] Re: カスケードレプリケーションを利用している場合に、スレーブノードに接続できない

Tatsuo Ishii ishii @ sraoss.co.jp
2016年 7月 6日 (水) 08:39:25 JST


> はじめまして、森と申します。
> 
> 以下の環境で、PostgreSQL を運用しております。
> 
> ---------------------------------------------------------------------------
> ・OS : Amazon Linux AMI release 2016.03
> ・PostgreSQL 9.3
> ・以下の構成でStreaming Replication
> 
>    master --> slave1 --> slave2 ( 全て非同期)
> ---------------------------------------------------------------------------
> 
> 「pgpool-II 3.5.2」を利用して、各ノードへ接続設定を行ったところ、slave2に対してのみ接続が行えません。
> 
> 詳細な状況は以下のとおりです。
> 
> -------------------------------------------------------------------------
> --------------------
> 
> ■状況1
> 
> pgpool.confを下記設定すると、両ノードに問題なく接続できます。
> 
> ・backend 0 にmaster
> ・backend 1 にslave1
> 
> ■状況2
> 
> pgpool.confを下記設定すると、slave2へ接続できません。(接続されません)
> 
> ・backend 0 にmaster
> ・backend 1 にslave2
> 
> pgpool_statusを見ると、slave2はunusedになっています。
> 
> up
> unused
> 
> ■状況3
> 
> pgpool.confを下記設定すると、slave2のみへ接続できません。(接続されません)
> 
> ・backend 0 にmaster
> ・backend 1 にslave1
> ・backend 2 にslave2
> 
> ■状況4
> 
> pgpool.confを下記設定すると、slave2へ接続できます。
> 
> ・backend 0 にslave2
> 
> -------------------------------------------------------------------------
> --------------------
> 
> 上記のような状況になり得る原因について、なにかお心当たりが有る方がいらっしゃましたら、少しでも情報を頂ければと思っています。
> 
> どうぞ宜しくお願いします。

手元の環境で確認しましたが、特に問題なく動作しています。設定の問題ではないでしょうか。

1) pgpool_setup -n 3 で3台構成のstreaming replicationを作成

2) backend 2 (port 11004)のrecovery.confを修正してupstreamを backend 1 (port 11003)に向ける

3) startall で起動

4) show pool_statusで起動を確認

5) 念の為 select * from pg_stat_replication で、backend 1の状態を取得できることを確認

--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


pgpool-general-jp メーリングリストの案内