pg_stat_reset() 是一个用于将当前数据库的所有统计信息计数器重置为零的系统函数。
pg_stat_reset() 在 PostgreSQL 7.3 中被添加。
用法
pg_stat_reset () → void
如果启用了 track_functions,函数统计信息也会被重置。
要确定数据库统计信息最后一次重置的时间,请查看该数据库在 pg_stat_database 条目中的 stats_reset 列。
默认情况下,pg_stat_reset() 只能由超级用户执行。可以通过 EXECUTE 权限授予其他用户执行权限。
重置统计信息意味着 autovacuum 用于确定下一次 vacuum 和/或 analyze 执行的计数器不再是最新的。这可能导致膨胀、统计信息过时,甚至在最坏的情况下触发反回绕 vacuum。
变更历史
- PostgreSQL 7.3
- 添加于(提交 5243f9a9)
示例
pg_stat_reset() 的用法示例
appdb=# SELECT count(*) FROM pg_stat_all_tables WHERE seq_scan > 0; count ------- 59 (1 row) appdb=# SELECT count(*) FROM pg_stat_user_functions; count ------- 5 (1 row) appdb=# SELECT pg_stat_reset(); pg_stat_reset --------------- (1 row) appdb=# SELECT count(*) FROM pg_stat_user_functions; count ------- 0 (1 row) appdb=# SELECT count(*) FROM pg_stat_all_tables WHERE seq_scan > 0; count ------- 3 (1 row)
请注意,在统计信息重置后,系统目录表很可能已经被访问,这意味着完全不存在表统计信息的窗口期非常短。
参考资料
- PostgreSQL 文档: 其他统计信息函数
另请参阅
反馈
在此处 提交对“pg_stat_reset()”的任何评论、建议或更正。