pg_stat_get_backend_idset()
是一个系统函数,它为每个当前后端生成一个 ID 列表,然后可以将这个列表提供给一系列函数,其中每个函数都返回关于每个后端特定的信息项。这些函数构成了 pg_stat_activity
视图的基础,但也可以用来提取该视图提供的部分信息。
pg_stat_get_backend_idset()
函数在 PostgreSQL 7.2 中被添加。
用法
pg_stat_get_backend_idset () → setof integer
在 PostgreSQL 16 及更高版本中,返回的整数是实际的后端 ID。
在 PostgreSQL 15 及更早版本中,返回的整数是从 1
到当前活动后端数量的序列。
变更历史
- PostgreSQL 16
- 返回实际后端 ID(提交 d7e39d72)
- PostgreSQL 7.2
- 添加(提交 140ddb78)
示例
在 PostgreSQL 15 及更早版本中 pg_stat_get_backend_idset()
的基本用法示例
postgres=# SELECT * FROM pg_stat_get_backend_idset(); pg_stat_get_backend_idset --------------------------- 1 2 3 4 5 6 (6 rows)
在 PostgreSQL 16 及更高版本中
postgres=# SELECT * FROM pg_stat_get_backend_idset(); pg_stat_get_backend_idset --------------------------- 1 2 3 256 258 259 (6 rows)
单独来看,这些信息用途不大;通常情况下,此查询会与一个或多个每个后端统计信息函数结合使用。
postgres=# SELECT pg_stat_get_backend_pid(s.id) AS pid FROM (SELECT pg_stat_get_backend_idset() AS id) AS s; pid ------- 18206 18207 18217 18203 18202 18205 (6 rows)
参考资料
- PostgreSQL 文档: 后端统计信息函数
分类
另请参阅
pg_stat_get_backend_activity(), pg_stat_get_backend_activity_start(), pg_stat_get_backend_client_addr(), pg_stat_get_backend_client_port(), pg_stat_get_backend_dbid(), pg_stat_get_backend_pid(), pg_stat_get_backend_start(), pg_stat_get_backend_userid(), pg_stat_get_backend_wait_event(), pg_stat_get_backend_wait_event_type(), pg_stat_get_backend_xact_start()