pg_get_sequence_data() 是一个返回与序列相关数据的系统函数。
pg_get_sequence_data() 在 PostgreSQL 18 中添加。
用法
pg_get_sequence_data (sequence_oidregclass) → record (last_valuebigint,is_calledboolean,page_lsnpg_lsn)
pg_get_sequence_data (sequence_oidregclass) → record (last_valuebigint,is_calledboolean)
您也可以直接从相应的 序列关系 中检索 last_value 和 is_called 值(即 SELECT last_value, is_called FROM <sequence>)。
pg_get_sequence_data() 主要供 pg_dump 使用。截至 PostgreSQL 18,它尚未被文档化。
变更历史
- PostgreSQL 19
- 添加了输出列
page_lsn(提交 b93172ca)
- 添加了输出列
- PostgreSQL 18
示例
pg_get_sequence_data() 的基本用法示例
postgres=# CREATE TABLE foo(id serial);
CREATE TABLE
postgres=# INSERT INTO foo VALUES (default), (default);
INSERT 0 2
postgres=# SELECT * FROM pg_get_sequence_data('foo_id_seq');
last_value | is_called
------------+-----------
2 | t
(1 row)
