postgresql修改自增序列

Posted Hello Java!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql修改自增序列相关的知识,希望对你有一定的参考价值。

mysql 中,实现 id 自增的方式是依靠加一个 auto_increment 标志,而在 pgsql 中,id 自增是通过序列 SEQUENCE。

创建表时设置自增序列为:

CREATE TABLE "config" (
    "id" int4 NOT NULL DEFAULT nextval(config_id_seq::regclass),
    ...
};

 

修改创建表之后的序列,如:

----删除前先解除 id 对该序列的依赖
ALTER TABLE tablename ALTER COLUMN id SET DEFAULT null;
DROP SEQUENCE IF EXISTS sequence_name;
---- id_max 即 id 目前的最大值,可写为1,可通过 “SELECT MAX(id) FROM tablename” 得到
CREATE SEQUENCE sequence_name START WITH id_max;
ALTER TABLE tablename ALTER COLUMN id SET DEFAULT nextval(sequence_name::regclass);
————————————————
原文链接:https://blog.csdn.net/quanqxj/article/details/77505247

以上是关于postgresql修改自增序列的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSql之创建自增

postgresql恢复数据, 自增处理

PostgreSQL 自增主键

PostgreSQL 序列

PostgreSQL 修改字段类型从int到bigint

Postgresql语句持续更新