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

YuGo yu.gotou @ gtec-ni.com
2007年 6月 8日 (金) 10:18:12 JST


渡辺どの。
> 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".

> <<<疑問点というか相談その2.>>>
> おかしな文字が入っているレコードは大した量ではなさそうなので、
> 旧サーバ上で該当のレコードの中身を削除or正しく編集してしまおうかと
> 思っておりますが、ログにSQL文が吐かれないので
> どのレコードなのかをつかめず苦慮してます。
> (このテーブルのレコードは20万件以上あるので)
> 
> 0xa487、0xa488、というシーケンスを含むレコードをSELECTする、
> またはpg_dumpしたテキストファイルからgrepかなにかで探し出すのに
> うまい方法はないでしょうか?

sql>\set AUTOCOMMIT off
にすれば途中までINSERTされるのでは。



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