1
我试图将一个CSV文件复制到Postgres 9.5.3中,并遇到NULL问题。该文件以ASCII编码,我的client_encoding为UTF-8,服务器编码为UTF-8。 空值位于带引号的字符串中,如下所示。在PostgreSQL数据库中复制NULL
我得到这个错误
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';
我试图通过指定 “\” 转义它,并试图复制命令的其他选项,但似乎没有任何工作。不知道,如何处理这个。
DCS.TXT文件的第一行是什么? –
你使用utf8编码空值将数据库的空值混淆,你需要去除文本文件中的空值。 tr可以做到这一点,就像其他一些utils一样。 tr -d'\ 000' outfile –
我可以重新定义我的列到bytea并加载NULL吗? –