[pgpool-general-jp: 555] Re: pgadmin3でkind mismatch
Tatsuo Ishii
ishii @ sraoss.co.jp
2009年 3月 3日 (火) 00:06:10 JST
石井です。
> 吉田と申します。
> おつかれさまです。
>
> 以前から、フルダンプ後に問題なかったデータベースを一度dropしてcreate後
> それだけリストアするとpgadmin3でアクセスすると「kind mismatch」でその
> データベースだけアクセスできなることがありました。
>
> エラー時のログを採取しましたが、対処方法がわからないのでお教え願えれば
> 非常に助かります。
>
> 以下、エラー時のログです。
> 2009-03-02 22:52:10 ERROR: pid 11393: kind mismatch among backends.
> Possible last query was: "SET DateStyle=ISO;SELECT oid,
> pg_encoding_to_char(encoding) AS encoding, datlastsysoid
> FROM pg_database WHERE oid = 52447" kind details are: 0[C] 1[D]
>
> バックエンドは、debianでコンパイルした32ビットの8.3.6とyum.postgresqlか
> らのx64の8.3.6となります。
>
>
> pdadmin3固有の問題なのでしょうか?(psqlからは問題なくアクセスできています)
> バックエンドのpostgreSQLで対処すべき問題なのでしょうか?
> pgpool2の問題なのでしょうか?
上のSQLを見ると、OIDをキーにしてデータベースのエンコーディングなどの情
報を取ってこようとしているようですが、pgpool-IIではOIDの同期は取ってい
ないので、この手のクエリは駄目ですね。対処方法としては、どちらかのDBを
正として、オンラインリカバリをかけることです(もしくは、DBを停止して、
物理コピーを行なう)。
ちなみに、オンラインリカバリをかけるときは、autovacuumが動かないように
しておいてください。
> ※2.2のmismatch時のSQL出力は非常に助かります!
これは以前から要望が多かったので、今回対処しました。私もエラーの解析が
しやすくなって、助かっています:-)
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgpool-general-jp メーリングリストの案内