我正在尝试将 CSV 文件复制到 Postgres 9.5.3 并遇到 NULL 问题。文件是用ASCII编码的,我的client_encoding是UTF-8,server编码是UTF-8。 空值位于带引号的字符串中,如下所示。
我收到这个错误
ERROR: invalid byte sequence for encoding "UTF8": 0x00
CONTEXT: COPY test_null, line 1
********** Error **********
ERROR: invalid byte sequence for encoding "UTF8": 0x00
SQL state: 22021
Context: COPY test_null, line 1
我的表结构是
CREATE TABLE TEST_NULL(NULLCOLUMN CHAR(10));
copy TEST_NULL from 'F:\User Area\DCS.TXT' csv NULL AS 'null';
我已经尝试通过指定“\”来转义它,并尝试了 Copy 命令的其他选项,但似乎没有任何效果。不确定,如何处理。
最佳答案
您的文件包含被 PostgreSQL 拒绝的 ASCII 0 字符。
如果您想使用 COPY
将 NULL 值加载到数据库中,则必须使用其他一些表示形式。
关于database - 在 PostgreSQL 数据库中复制 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285478/