繁体   English   中英

自动分析未在Postgres 9.2数据库中的所有表运行

[英]Auto analyze not running for all tables in Postgres 9.2 database

我注意到我正在调整的数据库(postgres 9.2)没有对我感兴趣的许多表运行自动分析,我不太明白为什么。 我的理解/期望是基于当前配置,自动分析将在假设表增长或被修改> = 10%的行时运行。 但是,根据查询数据库时看到的信息,情况并非如此。

这是一组在pg_stat_all_tables上运行查询的结果,该数据库已经在prod中运行了一年多(结果截断和实际表名被编辑)

┌────────────────────┬────────────────────────────────────┬──────────────────┬───────────────────┐
│       relname      │ last_autovacuum │ autovacuum_count │ last_autoanalyze │ autoanalyze_count │
├────────────────────┼─────────────────┼──────────────────┼──────────────────┼───────────────────┤
│ a_large_table      │ ¤               │                0 │ ¤                │                 0 │
│ table_a            │ 2014-04-01      │                1 │ 2014-04-01       │                 1 │
│ table_b            │ 2014-04-01      │                1 │ 2014-04-01       │                 1 │
│ a_very_large_table │ ¤               │                0 │ ¤                │                 0 │
└────────────────────┴─────────────────┴──────────────────┴──────────────────┴───────────────────┘

请注意,table_a和table_b经常被清除旧数据,因此最近这些数据会进行autovacuum / autoanalyze是有道理的。 但是,我也希望其他大型表格最近也至少得到了分析。

好的方法,这里是postgresql.conf ...

#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

autovacuum = on

log_autovacuum_min_duration = 1000

autovacuum_max_workers = 3

autovacuum_naptime = 1min

autovacuum_vacuum_threshold = 100

autovacuum_analyze_threshold = 100

autovacuum_vacuum_scale_factor = 0.2

autovacuum_analyze_scale_factor = 0.1

autovacuum_freeze_max_age = 200000000

autovacuum_vacuum_cost_delay = 20ms

autovacuum_vacuum_cost_limit = -1

当10%的元组被更改时,看起来应该对表进行真空分析。 基于postgresql.conf设置,

autovacuum analyze threshold = 100 + 0.1 * table size before vacuum

其他要检查的事项:

  • autovacuum正在运行吗? ps -ef | grep vacuum
  • 确保您没有检查备用或从属服务器

请参阅Gabrielle Roth在规模的autovacuum讲话中的幻灯片: https ://wiki.postgresql.org/images/b/b5/Groth_scale12x_autovacuum.pdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM