One - One Code All

Blog Content

postgresql查询和自定义设置主键id序列值

PostgreSQL   2017-05-20 20:55:57

设置自增属性。

/*修改表的id属性为自增*/
CREATE SEQUENCE table_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

给表添加自增属性。

alter table tablename
alter column id set default nextval('table_id_seq');

将下一次的自增值设置成最大id+1。

select setval('table_id_seq',(select max(id)+1 from table));

查询序列 (每查询一次,序列就做了一次+1操作,即查询下一次的value)。

SELECT nextval('table_id_seq');

手动为表table的id(序列为table_id_seq)指定一个新的起始自增长的值,方法如下:

SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';

看结果中是否包含 table_id_seq,有则运行:

ALTER SEQUENCE "table_id_seq"  RESTART WITH 10;

注意:运行这句语句的时候的schema,这里的10代表新的起始值,可指定任意数值。


查看当前序列ID值。

select * from table_id_seq ;



上一篇:postgresql 清除数据并清除自增ID
下一篇:postgresql加载配置报错: unable to run postgres with pg_ctl

The minute you think of giving up, think of the reason why you held on so long.