序列的创建和访问

最近更新时间: 2025-02-18 16:02:00

  1. 建立序列。
  • 复制
    复制成功
postgres=# create sequence tbase_seq;
CREATE SEQUENCE
  1. 建立序列,不存在时才创建。
  • 复制
    复制成功
postgres=# create sequence IF NOT EXISTS tbase_seq; 
NOTICE:  relation "tbase_seq" already exists, skipping
CREATE SEQUENCE
  1. 查看序列当前的使用状况。
  • 复制
    复制成功
postgres=# \x  
Expanded display is on.
postgres=# select * from tbase_seq ;
-[ RECORD 1 ]-
last_value | 1
log_cnt   | 0
is_called | f
  1. 获取序列的下一个值。
  • 复制
    复制成功
postgres=# select nextval('tbase_seq');
 nextval 
---------
     1
  1. 获取序列的当前值,这个需要在访问nextval()后才能使用。
  • 复制
    复制成功
postgres=# select currval('tbase_seq');
 currval 
---------
     1
  1. 你可以后下面的方式来获取序列当前使用到那一个值。
  • 复制
    复制成功
postgres=# select last_value from tbase_seq;
 last_value 
------------
        3
  1. 设置序列当前值。
  • 复制
    复制成功
postgres=# select setval('tbase_seq',1);
 setval 
--------
     1