Postgres导入csv重复键

时间:2014-11-20 08:19:47

标签: postgresql csv import duplicate-data

我有一个名为measurement的表,有3列:value,moment,seriesid。

51.02|2006-12-31 23:00:00|1
24.88|2006-12-31 23:00:00|2
55|2006-12-31 23:00:00|3
3.34823004011|2006-12-31 23:00:00|5

我正在尝试在此表中加载csv,但我收到以下错误:

Key (moment, seriesid)=(2009-05-25 00:00:00,186) already exists.

在阅读StackOverflow上的一些帖子后,我最好成功了:

CREATE TEMP TABLE measurement_tmp AS SELECT * FROM measurement LIMIT 0;
COPY measurement_tmp FROM '/home/airquality/dat/import.csv'
WITH DELIMITER ',';

INSERT INTO measurement
SELECT DISTINCT ON (moment,seriesid)
value,moment,seriesid
FROM measurement_tmp

据我所知 1)创建表measurement_tmp。
2)测量表的所有内容都加载到measeurement_tmp中 3)import.csv文件的所有内容都加载在measurement_tmp中,没有Key(moment,seriesid)限制。
4)选择DISTINCT ON(moment,seriesid)应该只返回“理智”#39;数据并将其导入测量中。

仍然得到同样的错误,

2014-11-20 10:06:24 GMT-2 ERROR:  duplicate key value violates unique constraint
 "measurement_pkey"
2014-11-20 10:06:24 GMT-2 DETAIL:  Key (moment, seriesid)=(2009-05-25 00:00:00,
186) already exists.

有什么想法吗?

0 个答案:

没有答案