「pool_do_auth: maybe protocol version mismatch」
linux
pgpool-IIとpostgreSQLの連携サーバ構築中に
pool_do_auth: maybe protocol version mismatch (current version 3)
なるエラーが発生。
ちょっとだけ嵌ったのでのでメモ
サーバの構成は、pgpool-IIが動くサーバと、postgreSQLが動くサーバは同一で、IPは172.24.0.100とします。
ポートは
pgpool:5432
postgreSQL:15432
にて開く設定です。
postgreSQLの設定(postgresql.con)では
-------------------
port = 15432
-------------------
pgpoolの設定(pgpool.conf)では
------------------------
backend_hostname0 = '172.24.0.100'
backend_port0 = 15432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/pgsql/data'
------------------------
といった形に設定し、
>netstat -a
にて5432、15432ポートそれぞれがOpenしていることを確認。
しかし、前述のpool_do_auth... エラーが発生していた次第です。
このエラーの原因は、pgpoolからpostgreSQLに接続できなかったのが原因。
postgreSQLの設定(pg_hba.conf)にて、
local all all trust
と、ローカルのアクセスを許可する設定にしていたのだが、上記設定のでみは駄目で
host all all 172.24.0.100/32 trust
を追加することにより、問題解決しました。
別にバージョンミスマッチな訳では無かったみたいです。
恐らく
×:backend_hostname0 = '172.24.0.100'
○:backend_hostname0 = '127.0.0.1'
にしても大丈夫な気がするのですが、諸事情により、172.24.0.100
での設定を強行しております。

0