在 PostgreSQL psql 中,如何让\copy 命令忽略输入文件中的空行?
这是重现它的代码,
create table t1(
n1 int
);
echo "1
2
" > m.csv
psql> \copy t1(n1) FROM 'm.csv' (delimiter E'\t', NULL 'NULL', FORMAT CSV, HEADER false);
ERROR: invalid input syntax for integer: ""
CONTEXT: COPY t1, line 3, column n1: ""
文件m.csv中有一个空行
cat m.csv
1
2
<< empty line
最佳答案
PostgreSQL COPY
非常严格,因此不可能以容忍模式启动COPY
。如果可能,您可以使用 COPY FROM PROGRAM
[pavel@nemesis ~]$ cat ~/data.csv 10,20,30 40,50,60 70,80,90 psql -c "\copy f from program ' sed ''/^\s*$/d'' ~/data.csv ' csv" postgres
关于postgresql - 如何在 PostgreSQL 中跳过 psql\COPY 中的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51293652/