如何在PostgreSQL中进行CSV导入时出错后恢复

8

我正在使用pgadminIII运行查询。如何继续导入过程并使用复制命令将错误输出到文件中?

使用以下命令从CSV格式的文本文件中导入数据到my_db数据库,并指定分隔符为分号:

copy my_db FROM E'D:\\my_textfile.txt' WITH CSV HEADER DELIMITER ';';

2个回答

8

您无法这样做。COPY命令是一个单一的事务,因此要么全部数据将被导入,要么不会导入任何数据。如果您想导入数据而不在出现错误时退出,则需要使用单独的INSERT语句。这就是COPY的权衡。它更高效,因为它是一个单一的事务,但它需要您的数据是无误的才能成功。


8
正如Sam所说,你不能这样做,但是你可以使用外部工具 - pgloader ,该工具具有此功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接