我正在尝试使用pq.CopyIn进行批量导入,如下所述:
https://godoc.org/github.com/lib/pq
导入比我尝试的其他方法快得多,但我发现只有一条记录中的唯一约束违规会导致整个导入失败。
有没有办法改变这种行为? 有没有一些简单的方法来找出导致问题的记录? pq.CopyIn是否有更好的选择来进行快速导入?
对于我的应用程序,我可以做一些查询和一些检查我正在导入的数据,但我希望有更好的方法。
答案 0 :(得分:0)
错误消息应该为您提供问题所在的线索。
由于COPY
语句(就像所有SQL语句一样)在自己的事务中运行,因此单个错误将回滚整个工作。
如果您愿意接受较慢的处理,可以使用INSERT ... ON CONFLICT DO NOTHING
。