失敗しているcopyコマンドを使用してPostgresテーブルにロードしている約75kのレコードがあります。例外が発生します
エラー: "UTF8" をエンコードするための無効なバイト シーケンス: 0xbd
次に、このエントリがある行を見つける必要があります。これを行う方法はありますか?私は役立つかもしれないいくつかのpostgresログを有効にするか、他の解決策を考えています注:特定の1つのファイルでのみ問題が発生しています。他のファイルは問題なくロードされています
失敗しているcopyコマンドを使用してPostgresテーブルにロードしている約75kのレコードがあります。例外が発生します
エラー: "UTF8" をエンコードするための無効なバイト シーケンス: 0xbd
次に、このエントリがある行を見つける必要があります。これを行う方法はありますか?私は役立つかもしれないいくつかのpostgresログを有効にするか、他の解決策を考えています注:特定の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 を実行できます。