历史数据转移,从一个表几天前的数据转移到history表中。
任务出错,
提示:
duplicate key value violates unique constraint"t_history_pkey"
???Key (id)=(1187457) already exists.
查看两个表中没有相同的数据,history中也没有1187457的数据。
网上说:
是Postgresql的一个序列(sequence),它的当前值太小,
导致在插入数据表时, 产生主键冲突.
解决办法可以把seq的值改大。
原因:
原表和histrory表都存在自己的seq。而history中的id和原表的id是一样的,不需要seq。这样就导致插入数据的值远远大于seq的值,查询数据库history表的值才是130.
所以出错。
解决:既然history表不需要seq,那么就删除即可。
删除seq:
如果有表的字段依赖了seq,要用下面命令删除,否则不用加入CASCADE
DROP SEQUENCE IF EXISTS t_table_id_seq CASCADE ;
执行命令提示:注意: 递归删除 表 t_table 字段 id的缺省
删除成功。