微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么时候以及为什么我应该触发pg_stat_reset?

如何解决什么时候以及为什么我应该触发pg_stat_reset?

我试图了解如何监视和调整Postgresql性能。我从探索表pg_stat_all_tablespg_stat_statements开始,以收集有关活动元组,死元组,上次自动清理时间等信息。有一些关于n_live_tuples的有用信息(接近实际行数)在表中)和n_dead_tup,直到我运行pg_stat_reset查询。之后,我得到了一些奇怪的结果-n_live_tupn_dead_tup少。我找不到任何有关为什么和何时(某些用例)应该运行pg_stat_reset查询文章/文档。有人可以向我解释一下还是提供一些有用的资源?

解决方法

可以偶尔运行pg_stat_reset()(例如每月一次),以获取有关数据库中最新情况的最新视图。

但是不要经常这样做,因为它有一个缺点:与系统相关的自动清理过程依赖于这些统计信息,因此,如果这样做,您将错过几次自动清理(和自动分析)运行。在您的数据库中,这可能是问题,也可能不是问题,但是无论如何我都不会经常这样做。如果可以,请在调用VACUUM之后手动ANALYZEpg_stat_reset()数据库。

pg_stat_statements_reset()并没有这样的问题,因此请尽可能多地运行它。

最适合您的是拥有一个监视软件,该软件定期检查统计信息的值并为您提供发展情况(与上次运行有所不同)。这样一来,您就不必重置统计信息,而且仍可以对发生的事情有个很好的了解。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。