Postgresql 如果在CSV导入时重复,则忽略行

Postgresql 如果在CSV导入时重复,则忽略行,postgresql,csv,Postgresql,Csv,我想知道这是否可能?如果由于某种原因无法导入行 重复的主键、错误的输入类型等是否可以忽略并移到下一行 我明白了 ERROR: duplicate key value violates unique constraint "team_pkey" DETAIL: Key (team)=(DEN) already exists. CONTEXT: COPY team, line 23: "DEN,Denver,Rockets,A" 文件中有很多错误,而且错误很大,因此是否可以忽略无法插入的行?

我想知道这是否可能?如果由于某种原因无法导入行 重复的主键、错误的输入类型等是否可以忽略并移到下一行

我明白了

ERROR:  duplicate key value violates unique constraint "team_pkey"
DETAIL:  Key (team)=(DEN) already exists.
CONTEXT:  COPY team, line 23: "DEN,Denver,Rockets,A"

文件中有很多错误,而且错误很大,因此是否可以忽略无法插入的行?

中介绍了处理重复键问题的解决方案-简而言之,使用无约束的临时表,并在目标表中选择uniquefield上的distinct

另一种方法是使用。不幸的是,这些文档似乎已经从网站上消失了,但是有几篇关于它的教程文章。它具有丰富的功能来帮助您读取有问题的数据,并可以执行诸如将拒绝的行存储在单独的文件中、转换字段等操作


有些事情可能不会立即变得明显:pgLoader版本2是用Python编写的,版本3是用Lisp编写的。这两种方法都可以从GitHub页面获得。

这里可以找到一种可能的方法-对您的情况有用吗?这可以解决重复问题,但如何解决无效的类型1?经常讨论可能的重复,请参阅“可能的重复”上的链接答案我在上面发布的链接。是的,我设法解决了重复的问题,但是有没有办法跳过无效的行?