PostgreSQL COPY FROM命令帮助

时间:2011-04-29 11:46:57

标签: database postgresql csv-import

我的CSV文件相当大(几百MB),我试图导入Postgres表,出现问题,是一些主键违规(CSV文件中的重复记录)

如果它是一个我可以手动过滤掉那些记录,但这些文件是由每小时生成这些数据的程序生成的。我的脚本必须自动将其导入数据库。

我的问题是:是否有一些方法可以在COPY命令或Postgres中设置标志,以便它可以跳过重复记录并继续将文件导入表格?

1 个答案:

答案 0 :(得分:3)

我的想法是以两种方式解决这个问题:

  1. 使用可帮助在COPY过程中创建重复行“{3}}的”异常报告“的实用程序。
  2. 通过首先将数据加载到临时表中来更改您的工作流程,对其进行重复处理(可能与目标表一起使用并使用dup标记在temp中标记所有内容),然后仅导入丢失的记录并发送重复到异常表。
  3. 我个人更喜欢第二种方法,但这只是具体工作流程的问题。