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

ISHIDA Akio iakio @ mono-space.net
2010年 12月 15日 (水) 13:41:59 JST


こんにちは。石田です。

すいません。やはりSSLはあまり関係なさそうです。

2010年12月14日16:48 菊池 幸博 <y-kik @ nifty.com>:
> 菊池です。
(中略)

> ■実行時のデバッグログ
>  pgpool1: DEBUG: pid 32677: I am 32677 accept fd 5
>  pgpool1: DEBUG: pid 32677: Protocol Major: 3 Minor: 0 database: postgres user: postgres
>  pgpool1: DEBUG: pid 32677: new_connection: connecting 0 backend
>  pgpool1: DEBUG: pid 32677: new_connection: connecting 1 backend
>  pgpool1: DEBUG: pid 32677: new_connection: connecting 2 backend
>  pgpool1: DEBUG: pid 32677: pool_ssl: SSL requested but SSL support is not available
>  last message repeated 2 times
>  pgpool1: DEBUG: pid 32677: pool_read_message_length: slot: 0 length: 8
>  pgpool1: DEBUG: pid 32677: pool_read_message_length: slot: 1 length: 8
>  pgpool1: DEBUG: pid 32677: pool_read_message_length: slot: 2 length: 8
>  pgpool1: ERROR: pid 32677: pool_read_kind: kind does not match between master(45) slot[2] (53)
>  pgpool1: ERROR: pid 32677: pool_do_auth: failed to read kind before BackendKeyData

pgpool から PostgreSQL への接続時、認証は通ったけどBackendKeyDataを
待っているときに、masterとslot[2]で不一致が発生したように見えます。

masterの 45 は 'E' ErrorResponse
slot[2]の  53は 'S' ParameterStatus

(ということはslot[1]も'E'だったのかも)

なので、まず pgpool からnode0への接続に失敗しているように見えるのですが、
それだと、node2のバージョンを8.2.13にしたら動作したという部分の
説明がつかないですね。

あまり自信無いですが
- PostgreSQL側のログにはエラー等は無いでしょうか
- pgpoolを動かしているマシンから、各ノードへ直接(pgpoolを
経由せずに)psql等で接続した時は正常に接続できるでしょうか。


>
>
> On Tue, 14 Dec 2010 15:22:34 +0900 (JST)
> Tatsuo Ishii <ishii @ sraoss.co.jp> wrote:
>
>> 石井です。
>>
>> > 以下、デバッグモードのログになります。
>> > ノード名は0オリジンでしたので、表記を変更しております。
>>
>> ログを見る限りでは、認証フェーズでノード0と1がエラー(45)を返し、ノード
>> 2だけが認証OKのような雰囲気です。ノード2の設定だけがどこかノード0, 1と
>> 違っているのだと思います。
>>
>> SSL関係だとしたら、石田さんの仰る、
>> > また、試してみたことは無いですが、
>> > export PGSSLMODE=disable
>> > としてからpsqlを起動すれば、psqlがSSL接続しなくなって
>> を試せばわかるのではないでしょうか。
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>>
>> > よろしくお願い致します。
>> >
>> > ------------- 以下実行ログ-------------------
>> >
>> > ]$ psql -l -p 9989 -h localhost
>> > psql: server closed the connection unexpectedly
>> >         This probably means the server terminated abnormally
>> >         before or while processing the request.
>> >
>> > ■node0,1(8.2.13)+node2(8.2.18)
>> >  pgpool1: DEBUG: pid 650: starting health checking
>> >  pgpool1: DEBUG: pid 650: health_check: 0 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 1 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 2 th DB node status: 1
>> >  pgpool1: DEBUG: pid 686: I am PCP 686 accept fd 5
>> >  pgpool1: DEBUG: pid 686: pcp_child: received PCP packet type of service 'M'
>> >  pgpool1: DEBUG: pid 686: pcp_child: salt sent to the client
>> >  pgpool1: DEBUG: pid 686: pcp_child: received PCP packet type of service 'R'
>> >  pgpool1: DEBUG: pid 686: pcp_child: authentication OK
>> >  pgpool1: DEBUG: pid 686: pcp_child: received PCP packet type of service 'I'
>> >  pgpool1: DEBUG: pid 686: pcp_child: retrieved node information from shared memory
>> >  pgpool1: DEBUG: pid 686: pcp_child: received PCP packet type of service 'X'
>> >  pgpool1: DEBUG: pid 686: pcp_child: client disconnecting. close connection
>> >  pgpool1: DEBUG: pid 650: starting health checking
>> >  pgpool1: DEBUG: pid 650: health_check: 0 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 1 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 2 th DB node status: 1
>> >  pgpool1: DEBUG: pid 7104: I am 7104 accept fd 5
>> >  pgpool1: DEBUG: pid 7104: Protocol Major: 3 Minor: 0 database: postgres user: postgres
>> >  pgpool1: DEBUG: pid 7104: new_connection: connecting 0 backend
>> >  pgpool1: DEBUG: pid 7104: new_connection: connecting 1 backend
>> >  pgpool1: DEBUG: pid 7104: new_connection: connecting 2 backend
>> >  pgpool1: DEBUG: pid 7104: pool_ssl: SSL requested but SSL support is not available
>> >  last message repeated 2 times
>> >  pgpool1: DEBUG: pid 7104: pool_read_message_length: slot: 0 length: 8
>> >  pgpool1: DEBUG: pid 7104: pool_read_message_length: slot: 1 length: 8
>> >  pgpool1: DEBUG: pid 7104: pool_read_message_length: slot: 2 length: 8
>> >  pgpool1: ERROR: pid 7104: pool_read_kind: kind does not match between master(45) slot[2] (53)
>> >  pgpool1: ERROR: pid 7104: pool_do_auth: failed to read kind before BackendKeyData
>> >  pgpool1: DEBUG: pid 650: starting health checking
>> >  pgpool1: DEBUG: pid 650: health_check: 0 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 1 th DB node status: 2
>> >  pgpool1: DEBUG: pid 650: health_check: 2 th DB node status: 2
>> >
>> > On Tue, 14 Dec 2010 09:31:46 +0900 (JST)
>> > Tatsuo Ishii <ishii @ sraoss.co.jp> wrote:
>> >
>> >> 石井です。
>> >>
>> >> pgpool-IIをデバッグモードで起動した結果をお見せいただければ、何か分かる
>> >> と思います。
>> >> --
>> >> Tatsuo Ishii
>> >> SRA OSS, Inc. Japan
>> >> English: http://www.sraoss.co.jp/index_en.php
>> >> Japanese: http://www.sraoss.co.jp
>> >>
>> >> > 菊池と申します。
>> >> >
>> >> > pgpool-II-2.3.2.2で3台構成でpostrgesqlをレプリケーションモードにて
>> >> > 稼動させようとしています。
>> >> > postgresqlはマイナーバージョンが異なると、pgpoolで正しく扱えないものでしょうか。
>> >> >
>> >> > 以下のような事象となりました。
>> >> > ---------------------------------------------------
>> >> > node1とnode2はpostgresql-8.2.13、node3がpostgresql-8.2.18という
>> >> > 組み合わせで構成したところ、pgpoolがうまく稼動しませんでした。
>> >> > (node3の/www/pgsql/dataは8.2.13と8.2.18と同じままです。)
>> >> >
>> >> > [postgres @ infra-fr2 ~]$ psql -l -p 9989 -h localhost
>> >> > psql: server closed the connection unexpectedly
>> >> >         This probably means the server terminated abnormally
>> >> >         before or while processing the request.
>> >> >
>> >> > node3もpostgresql-8.2.13にしたところ、pgpoolが稼動できました。
>> >> > [postgres @ infra-fr2 ~]$ psql -l -p 9989 -h localhost
>> >> >                           List of databases
>> >> >          Name          |  Owner   | Encoding |   Access privileges
>> >> > -----------------------+----------+----------+-----------------------
>> >> >  postgres              | postgres | UTF8     |
>> >> >  template0             | postgres | UTF8     | =c/postgres          +
>> >> >                        |          |          | postgres=CTc/postgres
>> >> >  template1             | postgres | UTF8     | =c/postgres          +
>> >> >                        |          |          | postgres=CTc/postgres
>> >> >
>> >> > よろしくお願い致します。
>> >> > --
>> >> > 菊池 幸博 <y-kik @ nifty.com>
>> >> >
>> >> > _______________________________________________
>> >> > pgpool-general-jp mailing list
>> >> > pgpool-general-jp @ sraoss.jp
>> >> > http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>> >
>> > --
>> > 菊池 幸博 <y-kik @ nifty.com>
>> >
>
> --
> 菊池 幸博 <y-kik @ nifty.com>
>
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>
>



-- 
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>


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