我使用失败的复制命令将大约 75k 记录加载到 Postgres 表中。我得到一个例外
错误:编码“UTF8”的字节序列无效:0xbd
现在我需要找到哪一行有这个条目。有没有办法做到这一点?我正在考虑启用一些可能有帮助的 postgres 日志记录或任何其他解决方案注意:我只遇到一个特定文件的问题。其他文件正在加载而没有问题
我使用失败的复制命令将大约 75k 记录加载到 Postgres 表中。我得到一个例外
错误:编码“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
如果您想查看删除的内容,您始终可以针对 before + after 版本运行 diff。