如何调试Postgres复制命令失败

postgresql postgresql-8.4 sqlbulkcopy

我有大约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

如果你想看看被删除的内容,你总是可以对之前版+后版本运行diff。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因