[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 メーリングリストの案内