[pgsql-jp: 41653] Re: pgpoolの縮退運転について

Tatsuo Ishii ishii @ sraoss.co.jp
2014年 5月 23日 (金) 19:21:04 JST


石井です。

> 環境は、pgpool-II 2.3.3+postgreSQL8.2.4×3です。pgpoolをレプリケーショ
> ンモードで動作させており、主 要な設定は下記のとおりです。

pgpool-II 2.3.3もPostgreSQL8.2.4もコミュニティサポートが終了しているので、
早急にアップグレードすることをお勧めします。

> あるUPDATE分が影響してpgpoolが不一致を検出しABORTさせた後、postgreSQL(セ
> カンダリ2台目)が切り離されて縮退運 転となりました。下記がその当時のクエ
> リログですが、伏せてあるUPDATE分はpostgreSQL3台ともまったく同じ内容です。
> 
> 内容が同じなのに不一致って何?と思ったんですが、良く観察すると
> postgreSQL(セカンダリ1台目)のdurationが176.003 msでした。原因はこれか
> な?とも思いましたが、クエリログにrollback等の記録もないのでやはり不一致
> の根本的な理由が分からずにいま す。

pgpool-IIは、UPDATE文の不一致ではなく、UPDATEを実施した結果行が異なるこ
とを検出して縮退を行います。つまりデータの不一致があるのが原因ですので、
各サーバの該当テーブルの内容が一致しているか調べるのが良いでしょう。

> また、”replication_stop_on_mismatch = true”の設定がされてますので、不一
> 致があった場合、多数決制により縮退しますが、postgreSQL(セカンダリ2台目)
> が切り離された理由もわ かりません。

2台目だけがUPDATEの結果行数が違ったからでしょう。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


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