迁移旧数据库到新数据库时PostgreSQL ID冲突

8fsztsew  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(2)|浏览(233)

我用pk(id)将一些数据从旧数据库迁移到新数据库。我应该做什么才能让我的新数据库从迁移数据的最后一个ID继续。我在迁移时没有遇到任何问题,但当项目运行时,在向数据库添加新对象时出现问题。项目在Django中完成

holgip5t

holgip5t1#

你应该改变/改变你的表的id,你可以在PostgreSQL中使用这个命令将id设置为某个特定的id,它将从该值自动递增。

SELECT setval(pg_get_serial_sequence('your_table_name', 'id'), (SELECT MAX(id) FROM your_table_name));

SELECT setval(pg_get_serial_sequence('your_table_name', 'id'), 'specific_value');
i7uaboj4

i7uaboj42#

您可以使用以下PostgreSQL命令将pk的序列自动设置为最后一个数字(如果pk是自动递增整数):

SELECT SETVAL('<schema>.<table_name>_id_seq', COALESCE(MAX(id), 1) ) FROM <schema>.<table_name>;
  • 在运行命令之前,请将<schema><table_name>更改为正确的值。*

相关问题