如何在 PostgreSQL Auto Vaccume 中停止分析

问题描述

Auto Vacuum 在超过阈值时执行 Vacuum 和 Analyze。阈值如下:

  • autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor * 行
  • autovacuum_analyze_threshold + autovacuum_analyze_scale_factor * 行

在 Postgresql 中,有没有办法在保持 Auto Vacuum 的 Vacuum 自动运行的同时停止分析?

解决方法

您能做的最好的事情是将 scrape_configs: - job_name: 'nodeexporter' scrape_interval: 5s static_configs: - targets: ['localhost:9100','ec2-XX-XX:9100'] 设置为该表的最大值 100,然后它只会在被修改的行数是表中行数的 100 倍时进行分析。

但是禁用自动分析并不是一个聪明的主意,你不应该这样做。