[pgsql-jp: 31233] pg_dumpファイルのリストアエラー

Imaoka Yumiko shinoi @ osk2.3web.ne.jp
2003年 10月 20日 (月) 12:39:12 JST


今岡と申します。
pg_dumpでとったファイルのリストアのエラーで困っています。
どなたか解決策などご存知でしたらご教授戴きたく投稿させて戴きます。

以前こちらで検索の不具合についても投稿させて戴いたのですが、
その原因がinitdb時のno-localeオプションを指定しなかったことと判明し、
ユーザの環境でinitdbのやりなおしをしていました。
テスト環境とあるユーザの環境では問題なく出来たのですが、
別のユーザの環境でinitdbの後、あらかじめpg_dumpでとっておいたデータファイル
が
リストアでエラーを起こしてしまいました。
エラーが起きるのはデータベースの中のあるテーブルのみです。
テーブルの内容をcopyコマンドで入れる際に下記のようなエラーメッセージが
表示されています。

psql:exist_4.out:338:ERROR:copy:line 7142, Invalid EUC_JP character sequence
found(0x8043)

0x8043が、データベースで使用している文字コードEUC_JPではないという旨の
メッセージですが、今回の作業以前にも何度もユーザのpg_dumpファイルをリストア
し、
該当するデータ行も含めて問題なくきたのにどうして今回のみこのようなエラーに
なるのかが判りません。

こちらのメーリングリストの過去ログで、テーブル毎にcopyコマンドでデータをバッ
クアップし
リストアする方法などで回避するというお話がありました。
copyコマンドでデータを取りこむ場合、pg_dumpのファイルをリストアするとデータ
は
copyコマンドはstdinから入力され、テーブル毎にファイルに落としてファイルから
入力するより
エラーが起こり易く、その原因は判らないとされていました。
postgrSQLのバージョンが7.0か、ちょっと古い時期のお話ですが、現在も同じ状態な
の
でしょうか。

なお、環境は下記の通りです。
OS    :Linux 7.2
DB    :PostgreSQL 7.3.1




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