gpt4 book ai didi

database - 有没有办法只清除 Postgres 统计数据 xact_commit 和 xact_rollback?

转载 作者:行者123 更新时间:2023-11-29 13:39:25 25 4
gpt4 key购买 nike

我正在使用一个由 icinga2 监视的 postgres 数据库,我们的一位监视器正在查看数据库的提交率:

select
round(100.*sd.xact_commit/(sd.xact_commit+sd.xact_rollback), 2) AS dcommitratio,
d.datname,
r.rolname AS rolname
FROM pg_stat_database sd
JOIN pg_database d ON (d.oid=sd.datid)
JOIN pg_roles r ON (r.oid=d.datdba)
WHERE sd.xact_commit+sd.xact_rollback<>0;

问题是最近有一个应用程序有一个错误(现已修复!),大大增加了回滚次数,以至于现在的提交率只有 78%,并且每天都在触发警报。

我可以运行 pg_stats_clear(),但是有没有办法只清除这两个计数器?我不想无意中清除任何其他必要的统计信息,例如 autovaccuum 或查询优化器使用的任何统计信息。或者,pg_stats_clear() 是否被认为可以安全运行?

最佳答案

不幸的是,重置 PostgreSQL 统计信息是全有或全无的。

但我要说的是,您的监控系统无论如何都在监控错误的东西。与其监视 xact_commitxact_rollback 的绝对值,不如监视自上次检查以来值的变化

否则您将无法及时发现潜在问题:如果已经有好几个月的正常运行,则需要很长时间的不当行为才能明显改变比率。

关于database - 有没有办法只清除 Postgres 统计数据 xact_commit 和 xact_rollback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57560345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com