postgresql 序列获取 max_value

Kax*_*x A 4 sql postgresql sequence

如何获取 max_value 和 min_value Postgres 序列?

我使用此语句创建了序列

create sequence seqtest increment 1 minvalue 0 maxvalue 20;
Run Code Online (Sandbox Code Playgroud)

我尝试这个查询select max_value from seqtest给出错误

ERROR:  column "max_value" does not exist
LINE 1: select max_value from seqtest;
HINT:  Perhaps you meant to reference the column "seqtest.last_value".
Run Code Online (Sandbox Code Playgroud)

输出select * from seqtest

test=# select * from seqtest;

-[ RECORD 1 ]-
last_value | 0
log_cnt    | 0
is_called  | f
Run Code Online (Sandbox Code Playgroud)

Vao*_*sun 5

t=# create sequence seqtest increment 1 minvalue 0 maxvalue 20;
CREATE SEQUENCE
t=# select * from pg_sequence where seqrelid = 'seqtest'::regclass;
 seqrelid | seqtypid | seqstart | seqincrement | seqmax | seqmin | seqcache | seqcycle
----------+----------+----------+--------------+--------+--------+----------+----------
    16479 |       20 |        0 |            1 |     20 |      0 |        1 | f
(1 row)
Run Code Online (Sandbox Code Playgroud)

Postgres 10 引入了新目录:https://www.postgresql.org/docs/10/static/catalog-pg-sequence.html

另外: https: //www.postgresql.org/docs/current/static/release-10.html

将序列的元数据字段移至新的 pg_sequence 系统目录 (Peter Eisentraut)

序列关系现在仅存储可由 nextval() 修改的字段,即 last_value、log_cnt 和 is_known。其他序列属性,例如起始值和增量,保存在 pg_sequence 目录的相应行中。