pg_stat_reset_shared() 是一个系统函数,用于重置各种集群范围统计信息的计数器。
pg_stat_reset_shared() 函数添加于 PostgreSQL 9.0。
用法
PostgreSQL 17 及更高版本
pg_stat_reset_shared (targettextDEFAULTNULL) → void
PostgreSQL 16 及更早版本
pg_stat_reset_shared ( text ) → void
pg_stat_reset_shared() 可以使用以下选项之一执行:
| option | view | version |
|---|---|---|
archiver |
pg_stat_archiver |
9.4 |
bgwriter |
pg_stat_bgwriter |
9.0 |
检查点写入器 |
pg_stat_checkpointer |
17 |
io |
pg_stat_io |
16 |
recovery_prefetch |
pg_stat_recovery_prefetch |
15 |
slru |
pg_stat_slru |
17 |
wal |
pg_stat_wal |
14 |
从 PostgreSQL 17 开始,如果提供 NULL,或者未提供任何选项,则会重置所有可重置的统计信息。
变更历史
- PostgreSQL 17
- PostgreSQL 16
- 添加了
io选项 (commit 28e626bd)
- 添加了
- PostgreSQL 15
- 添加了
recovery_prefetch选项 (commit 5dc0418f)
- 添加了
- PostgreSQL 14
- 添加了
wal选项 (commit 8d9a9359)
- 添加了
- PostgreSQL 9.4
- 添加了
archiver选项 (commit 9132b189)
- 添加了
- PostgreSQL 9.0
- 已添加 (commit 7e40cdc0)
示例
重置 pg_stat_archiver 统计信息
postgres=# SELECT * FROM pg_stat_archiver\gx
-[ RECORD 1 ]------+------------------------------
archived_count | 0
last_archived_wal |
last_archived_time |
failed_count | 3
last_failed_wal | 000000010000000000000001
last_failed_time | 2021-02-19 09:33:31.498568+01
stats_reset | 2021-02-19 09:33:08.578549+01
postgres=# SELECT pg_stat_reset_shared('archiver');
pg_stat_reset_shared
----------------------
(1 row)
postgres=# SELECT * FROM pg_stat_archiver\gx
-[ RECORD 1 ]------+------------------------------
archived_count | 0
last_archived_wal |
last_archived_time |
failed_count | 0
last_failed_wal |
last_failed_time |
stats_reset | 2021-02-19 09:33:41.615664+01
尝试重置无效的统计信息类型
postgres=# SELECT pg_stat_reset_shared('foo');
ERROR: unrecognized reset target: "foo"
HINT: Target must be "archiver", "bgwriter", "checkpointer", "io", "recovery_prefetch", or "wal".
参考资料
- PostgreSQL 文档: 其他统计信息函数
