copy使用 ! cat /home/teledb/t.txt 33178,1,张三,20001201 00:00:00,北京 33179,2,李四,19970324 00:00:00,上海 33178,3,王五,20040901 00:00:00,广州 33179,4,赵六,20001201 00:00:00, teledb truncate table toids; TRUNCATE TABLE teledb copy toids from '/home/teledb/t.txt' (format 'csv', oids true); COPY 4 使用FORCENOTNULL把某列中空值变成长度为0的字符串,而不是NULL值。 teledb alter table t alter column city set not null; ALTER TABLE teledb ! cat /home/teledb/t.txt 1,张三,20001201 00:00:00,北京 2,李四,19970324 00:00:00,上海 3,王五,20040901 00:00:00,广州 4,赵六,20001201 00:00:00, teledb copy t from '/home/teledb/t.txt' (format 'csv'); ERROR: node:dn02, backendpid:21393, nodename:dn02,backendpid:21393,message:null value in column "city" violates notnull constraint DETAIL: Failing row contains (4, 赵六, 20001201 00:00:00, null). 不使用FORCENOTNULL处理的话就变成NULL值。 teledb copy t from '/home/teledteledb create table tjson(id int,fjson json); CREATE TABLE b/t.txt' (format 'csv', forcenotnull(city)); COPY 4 teledb select from t; id name birth city +++ 1 张三 20001201 00:00:00 北京 2 李四 19970324 00:00:00 上海 3 王五 20040901 00:00:00 广州 4 赵六 20001201 00:00:00 (4 rows) 使用FORCENOTNULL处理就变成长度为0的字符串。 encoding 指定导入文件的编码 copy test from '/home/teledb/test.txt'; 不指定导入文件的编码格式,则无法正确导入中文字符。 teledb