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

卢克霍尔

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

劳伦兹·阿尔伯

可以pg_stat_reset()不定期运行(例如每月一次),以获取有关数据库中正在发生的事情的最新视图。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么时候以及为什么应该使用域服务?

什么时候,在哪里以及为什么我应该对控制结构使用“替代语法”?

什么时候以及为什么我应该使用namedtuple而不是字典?

什么时候以及为什么我应该使用session_regenerate_id()?

什么时候以及为什么我们应该在角度使用View Encapsulation

什么时候以及为什么应该使用NSUserDefaults的syncnize()方法?

什么时候以及为什么应该使用apt-get update?

我什么时候应该使用GROUP BY?

我什么时候应该使用blockingGet?

我什么时候应该使用SynchronousQueue

我什么时候应该抛出`ObjectDisposedException`?

我什么时候应该使用`sparse`?

我什么时候应该使用FutureBuilder?

我什么时候应该等待异步?

我什么时候应该使用.copy()

我应该什么时候使用 JSDocs?

我什么时候应该销毁令牌

我什么时候应该使用 After 触发器而不是 Before 触发器?

我什么时候应该使用Q.defer以及何时Promise.resolve / reject?

什么时候以及为什么我们需要在bash上使用“ wait”命令?

什么时候以及为什么类型对象比字典更好?

什么时候以及为什么取消功能

什么时候以及为什么在constexpr中使用static?

Python什么时候以及为什么忽略__slots__?

什么时候以及为什么使用next_by_code()?

.innerHTML与.value ...什么时候以及为什么?

为什么我的异步Jest测试应该在什么时候不失败?

为什么我的if语句应该在什么时候不评估为假?

我什么时候应该将npm与“ -g”标志一起使用,为什么?