我最近将大量数据从旧数据库导入到新的 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 的新行?