1

失敗しているcopyコマンドを使用してPostgresテーブルにロードしている約75kのレコードがあります。例外が発生します

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

次に、このエントリがある行を見つける必要があります。これを行う方法はありますか?私は役立つかもしれないいくつかのpostgresログを有効にするか、他の解決策を考えています注:特定の1つのファイルでのみ問題が発生しています。他のファイルは問題なくロードされています

4

1 に答える 1

1

COPYまたはを使用\copyしてリダイレクトまたは を介し​​てファイルをフィードしても、常にエラーに行番号が表示されるようです-f

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

悪い文字が 2 つしかなく、それらを削除したい場合は、iconv を使用できます (UNIX ライクなシステムを使用していると仮定します)。

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

削除されたものを確認したい場合は、いつでも before + after バージョンに対して diff を実行できます。

于 2012-08-28T08:34:02.050 に答える