Ram*_*Ram 1 postgresql postgresql-9.5
团队,最近发现其中一张表 autovacuum 是最新的,但 autoanalyze 不是最新的。参数默认配置。这将如何发生?如果 autovacuum 参数满足条件,那么它也应该执行自动分析。
请分享一些对此的见解。
Autovacuum 和 autoanalyze 由不同的条件触发并使用不同的统计计数器:
n_dead_tup如果死元组 ( in )的数量pg_stat_all_tables超过阈值(默认情况下,约为reltuplesfrom的 20% pg_class),autovacuum 就会开始运行。从 v13 开始,有一个类似的条件n_ins_since_vacuum,即自上次 以来插入的元组数量VACUUM。
如果更改的元组数量 ( n_mod_since_analyzein pg_stat_all_tables) 超过阈值(默认情况下,大约为reltuplesfrom的 10% pg_class),则 autoanalyze 开始运行。
每当 autovacuum 或 autoanalyze 完成时,相应的统计计数器都会重置为 0。
因此,autovacuum 和 autoanalyze 运行之间没有直接联系(除非两者都与表修改相关,除非它是反环绕真空运行)。
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |