使用列的最大值重新启动PostgreSQL序列

时间:2018-08-02 08:20:08

标签: postgresql max sequence alter

我需要在手动导入数据后重新启动表序列,并想动态使用id列中当前存在的最大值(+1)。

我用

标识值
SELECT coalesce(MAX("id")+1) FROM "termine";

然后我用

更新序列
ALTER SEQUENCE termine_id_seq RESTART WITH 123;

如何在ALTER(而不是“ 123”)中使用MAX ID?

1 个答案:

答案 0 :(得分:2)

使用setval帮助器功能。

select pg_catalog.setval('termine_id_seq'::regclass, MAX("id"),true) FROM "termine";