2016-12-05 59 views
0

我有源文件,它没有双引号。 (请参阅文件中的单行)Postgres文件复制到表失败

头-1测试 123 | ABC |美| 458764

我想这样的记录复制到Postgres表说: “测试”

测试表定义是像

\ d的test.txt 数整数 名称字符改变 COUN尝试字符改变 PIN整数

,而这个数据复制到Postgres的复制失败,因为数据没有必须“”字符数据列在文件中。

\COPY test FROM tmp/test.txt DELIMITER '|'; 

如何确保COPY正常工作,即使源文件中的数据没有“”字符类型。

回答

0

情况并非如此。看一下例子:

b=# create table t3 (a int, b character varying, c character varying, d int); 
CREATE TABLE 
b=# copy t3 from '/var/lib/postgresql/test' DELIMITER '|'; 
COPY 1 
b=# \! cat /var/lib/postgresql/test 
123|ABC|US|458764 

正如你所看到的,不需要双引号。