[pgsql-jp: 34346] pgpool 2.3.1 で縮退運転に失敗します

Ishikawa Tomoyuki ishikawa @ sys.tosho.co.jp
2004年 11月 26日 (金) 20:11:16 JST


はじめまして、石川と申します。

現在pgpool とPostgreSQL のMaster, Secondaryをそれぞれ別のサーバに準備してテ
ストを行っています。
レプリケーション機能は問題ないのですが、縮退運転でエラーが起きてしまいます。

┌───┐
│pgpool│
└───┘
    │
    │──────┐
    │            │
┌────┐ ┌──────┐
│postgres│ │ postgres   │
│(master)│ │(secondary) │
└────┘ └──────┘

ホストのOS は全てSolaris 8(Sparc) です。

調べてみたところ、Master あるいはSecondary のpostmaster を停止した際に、
pgpool からpostmaster に張られたコネクションが残った状態でデータベースへアク
セスすると、
pgpool が縮退運転に入らずエラーとなりました。

コネクションの有無に関係あるかと考えて、
コネクションがない状態を作るために、
あらためてpgpoolおよびpostmaster(master)のみ起動して試しました。
その結果、データベースへアクセスすると縮退運転に入りました。


postmaster を停止した時にpgpool サーバでnetstat -n をかけた結果です。
このときにデータベースにアクセスすると縮退運転に入りません。
見ていると、CLOSE_WAITの状態が長く続きました。

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
192.168.0.2.32804    192.168.0.3.5432     65664      0 67032      0
ESTABLISHED
192.168.0.2.32805    192.168.0.4.5432     65664      0 67032      0
CLOSE_WAIT


試しに同一サーバにpgpool とPostgreSQL のMaster, Secondaryを準備してテストし
たところ、
レプリケーション、縮退運転ともに問題なく動きました。

コネクションの有無に注目しましたが、このほかに確認すべき事柄はありますか?




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