Postgresのコピーコマンドの失敗をデバッグする方法

postgresql postgresql-8.4 sqlbulkcopy

質問

私は失敗しているコピーコマンドを使用してPostgresテーブルにロードしている約75kのレコードを持っています。私は例外を得る

エラー: "UTF8"をエンコードするための無効なバイトシーケンス:0xbd

今私はこの行を持っている行を見つける必要があります。これを行う方法はありますか?私はいくつかのpostgresのログを有効にする行や、他の解決策を考えています。注:特定のファイルだけで問題が発生しています。他のファイルが問題なく読み込まれています

人気のある回答

私は、 COPYまたは\copyどちらを使用していても、リダイレクトまたは-f使ってファイルをフィードしても、私のエラーでは常に行番号を取得するようです。

ERROR:  invalid byte sequence for encoding "UTF8": 0xa3
CONTEXT:  COPY z, line 3

いくつかの悪い文字があるだけで、それらを取り除きたいなら、iconvを使うことができます(あなたがUNIX系のシステムであると仮定して)。

iconv -c --from=utf8 --to=utf8 /tmp/badchars.txt > /tmp/stripped.txt

何が削除されたかを知りたければ、前バージョンとの差分をいつでも実行することができます。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ