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

菊池 幸博 y-kik @ nifty.com
2010年 12月 15日 (水) 17:01:28 JST


お世話になります。菊池です。

状況は以下の様になります。
◎psqlで各ノードにアクセス可能(portは5432)

◎pgpool経由で単独であればアクセス可能
 node0のみ、node1のみ、node2のみであればバージョンに関わらず
 アクセス可能です。

◎postgresqlのログにはエラーは出ていません
 node0,1,2ともにエラー、ワーニング等は出ていませんでした。

少し時間がかかりますが、8.2.1xのバージョン全部入れて、
どこまでOKかを調べてみます。
DBデータのディレクトリが同じなので、データではなくバージョンに起因する
ものではないかと推測しました。

よろしくお願いします。

On Wed, 15 Dec 2010 13:41:59 +0900
ISHIDA Akio <iakio @ mono-space.net> wrote:

> こんにちは。石田です。
> 
> すいません。やはり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 mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp

-- 
菊池 幸博 <y-kik @ nifty.com>



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