我最近将大量数据从旧数据库导入到新的PostgreSQL数据库中,作为新Django站点中模型的基础.
我使用了旧数据库中的ID(因为不同表中的行相互引用),但它们并不都是顺序的——通常存在很大的间隙.
我注意到,当我通过Django应用程序添加新对象时,它一直使用从1开始的ID,这到目前为止不是问题,因为没有ID非常低的行.
但一旦到达第一行遗留数据,postgres显然会抱怨:
ERROR: duplicate key value violates unique constraint "django_comments_pkey"
DETAIL: Key (id)=(25) already exists.
查看表格描述,我猜我需要在每个表格上重置某种顺序:
Table "public.django_comments"
Column | Type | Modifiers
-----------------+--------------------------+--------------------------------------------------------------
id | integer | not null default nextval('django_comments_id_seq'::regclass)
...
我需要做什么来重置该序列,以便添加ID高于当前最大ID的新行?