[pgpool-general-jp: 871] Re: postgresqlのバージョン違いにつきまして

Tatsuo Ishii ishii @ sraoss.co.jp
2010年 12月 26日 (日) 15:28:12 JST


石井です。

同じ現象かどうかわかりませんが、当方でも再現しました(pgpool-IIは3.xでも
再現します)。

> お世話になります。菊池です。
> 
> node3のバージョンを変えてテストしてみました。
> 
> 次のような結果となりました。
> 
> 8.2.13 - OK
> 8.2.14 - OK
> 8.2.15 - NG
> 8.2.16 - NG
> 8.2.17 - NG
> 8.2.18 - NG
> 
> NGの時のログは以前に投稿したものと同じでした。
> 8.2.14と8.2.15の間でpgpoolから見て違いがあるということでしょうか。

結論から言うと、yes です。

8.2.13では、クライアントとの接続時に、未知のパラメータ、たとえば
"application_name"がサーバに送られると、

unrecognized configuration parameter "application_name"

というエラーが発生します。しかし、どうやら8.2.18(8.2.15以降?)では無視す
るようになったようです。このせいで、たとえば"application_name"を送るよ
うな新しいバージョンのpsqlから接続すると、8.2.13ではエラーが返ってくる
のに、8.2.18ではエラーが返りません。

pgpoolは、接続時にバックエンドからのメッセージが厳密に同じかどうか確認
しています。この違いにより、pgpoolが接続に失敗したと判定することになっ
たいうわけです。

P.S. こういう問題は調査がやっかいなので、多少なりともわかりやすくするた
めに、バックエンドからメッセージを読みとった際に、バックエンド間で一致
しなかったときに、次のバージョンのpgpool-IIでは、単にエラーを返すだけで
なく、バックエンドからのメッセージを表示することにしました。こんな感じ
です。

 pool_read_kind: error message from master backend:unrecognized configuration parameter "application_name"
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


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