Postgres 从 1000 开始的表 ID

fab*_*bbb 2 sql postgresql

在您将其标记为重复之前。我在另一个线程上找到了这个答案,但在使它工作时遇到了困难。

从 psql 我看到我的表:

\d people
Run Code Online (Sandbox Code Playgroud)

桌子:

专栏 | 类型 | 修饰符
---------------+-------------------------------- -+------------------------------------------------ -----------------------
id | 整数 | 非空默认 nextval('people_id_seq'::regclass)

我试过的代码似乎什么也没做......

ALTER SEQUENCE people_id_seq RESTART 1000
Run Code Online (Sandbox Code Playgroud)

如何使主键从 1000 开始?

Jos*_*h B 6

以下查询会将序列值设置为 999。下次访问序列时,您将获得 1000。

SELECT setval('people_id_seq', 999);
Run Code Online (Sandbox Code Playgroud)

参考

PostgreSQL 上的序列操作函数手册