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 文档: 其他统计函数