[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 メーリングリストの案内