[pgsql-jp: 26151] pg_dumpが途中終了します

Junzo Kudou tech @ dk.catv.ne.jp
2002年 5月 27日 (月) 21:02:11 JST


いつも参考にさせていただいてます。工藤と申します。

先日postmasterが突然落ちてしまい、それを再起動させて以降pg_dumpでダンプを
行うと以下のエラーメッセージが出るようになってしまいました。

>pg_dump: dumpClasses(): SQL command failed
>pg_dump: Error message from server: ERROR:  unexpected chunk number 1 (expected 0) for toast value 74452
>pg_dump: The command was: FETCH 100 FROM _pg_dump_cursor

pg_dump自体の処理は途中終了しており、保存されているところまでのDBは正常
に復元できます。
何度かに別けてpg_dumpをしてみましたが、エラーで落ちているのは特定レコード
を処理中に、という訳ではない様です(tailでアーカイブを直接見ると最後の
レコードが毎回同じという訳ではない、という意味です)。

DBのオーナーではなくユーザーアカウントpostgresでpg_dumpallをすると若干
メッセージが変わっています。

>dumping database "DB_NAME"...
>pg_dump: ERROR:  unexpected chunk number 1 (expected 0) for toast value 74452
>pg_dump: lost synchronization with server, resetting connection
>pg_dump: SQL command to dump the contents of table "TABLE_NAME" failed: PQendcopy() failed.
>pg_dump: Error message from server: pg_dump: The command was: COPY "TABLE_NAME" TO stdout;
>pg_dump failed on DB_NAME, exitinga

このDBが展開されている$PG_HOME/dataをtarで固めて別なマシンに持っていって
そちらのpostgresで読み込みを行うと普通に読み込めてました。select等しても
特にエラーが出るという現象には遭遇しません。
が、そのマシンでpg_dumpすると同様のエラーが発生します(当り前ですか)。

当座tarで$PG_HOME/dataを保存してしのいでいるのですが、サイズが大きくなって
しまうしこのまま放置していい問題とも思えないので投稿させていただきました。

使用しているのは
Postgres:7.2.1
OS:VineLinux2.5
です。

何か情報等ありましたらよろしく御指導ください。

+-----------------------------------------------------------+
|  株式会社デジタオ 技術担当                      工藤順三  |
|  mail tech @ dk.catv.ne.jp                                  |
+--URL  http://digitao.net/ --------------------------------+



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