[pgsql-jp: 38473] Re: invalid byte sequence for encoding "EUC_JP": 0xa488

ISHIDA Akio iakio @ mono-space.net
2007年 6月 8日 (金) 01:18:14 JST


こんにちは。石田@苫小牧市です。

07/06/07 に haward99 @ yahoo.co.jp<haward99 @ yahoo.co.jp> さんは書きました:
> 渡辺と申します。
> Postgresqlサーバーのバージョンアップがらみで手詰まっております。
>
> ver8.1.2上のあるテーブルだけをpg_dumpして、
> 別サーバのver8.2.4上のDBに流し込もうとしたところ、
> 以下のエラーが発生しました。
> (新旧両方のサーバの文字コードは全てEUC-JPで固めてある)
>
> ERROR:  invalid byte sequence for encoding "EUC_JP": 0xa488
> HINT:  This error can also happen if the byte sequence does not match the encoding
> expected by the server, which is controlled by "client_encoding".
> ERROR:  invalid byte sequence for encoding "EUC_JP": 0xa487
> HINT:  This error can also happen if the byte sequence does not match the encoding
> expected by the server, which is controlled by "client_encoding".
>
> おそらく、ver8.1.4以降で厳格化されたエスケープ文字の取り扱いに
> ひっかかったのかな?と推測しております。(違うかな)

私もそうだと思います。

>
> <<<疑問点その1.>>>
> 新旧両方のDBサーバのpostgresql.confにおいて
>
>   log_min_error_statement = error
>
> を設定して、エラーを起こしたSQL文をログ記録するようにしている
> はずなのですが、上記エラーメッセージを吐いた際の
> 該当のSQL文がログに記録されませんでした。なぜ?

とりあえずこちらだけ。

これは、ダンプしたファイルを読み込むクライアントプログラム
(たぶんpsql)がログを出力しなかったということでしょうか。

だとすれば、サーバ側のログには出力されているかもしれません。

>
> ちなみに、旧サーバでpg_dumpする際には
> pg_dump --attribute-inserts
> とすることで、INSERT文形式でダンプしてます。
>

-- 
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>



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