为什么执行自动真空分析时不运行自动分析

问题描述 投票:0回答:1

团队,最近发现的表autovacuum中的一个是最新的,但是autoanazeze不是最新的。参数默认配置。这将如何发生?如果自动真空参数满足条件,则它也应该执行自动分析。

请分享一些见解。

谢谢enter image description here

postgresql postgresql-9.5
1个回答
0
投票

[Autovacuum和自动分析是由不同的条件触发的,并使用不同的统计计数器:

  • 如果变量元组的数目(n_dead_tup中的pg_stat_all_tables)超过阈值(默认情况下,reltuples中的pg_class的大约20%),则自动运行开始运行。从v13开始,情况与n_ins_since_vacuum类似,这是自上一个VACUUM以来插入的元组数。

  • 如果更改的元组的数量(n_mod_since_analyze中的pg_stat_all_tables)超过阈值(默认情况下,reltuples中的pg_class的10%,则自动分析开始运行。

  • ]

每当完成自动真空或自动分析后,相应的统计计数器就会重置为0。

因此,自动抽真空和自动分析运行之间没有直接连接(除非两者都与表修改连接,除非这是一个防环绕的真空运行)。>>

© www.soinside.com 2019 - 2024. All rights reserved.