在PostgreSQL数据库中复制NULL

时间:2017-09-18 17:55:31

标签: database postgresql

我正在尝试将CS​​V文件复制到Postgres 9.5.3并遇到NULL问题。该文件以ASCII编码,我的client_encoding为UTF-8,服务器编码为UTF-8。 null位于带引号的字符串中,如下所示。

enter image description here

我收到此错误

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';

我尝试通过指定“\”来逃避它,并尝试了其他选项的复制命令,但似乎没有任何效果。不确定,如何处理这个。

1 个答案:

答案 0 :(得分:0)

您的文件包含ASCII 0字符,PostgreSQL会拒绝这些字符。

如果要使用COPY将它们加载到数据库中,则必须对NULL值使用其他一些表示。