On Thursday 2025-10-30 18:00, Ron Johnson wrote:


     > SELECT reltuples FROM pg_class WHERE relname =
     'test_runs_summarized_per_function' \gx
     -[ RECORD 1 ]-----------
     reltuples | 6.061923e+09

     > SELECT name,setting FROM pg_settings WHERE name ILIKE '%factor%' ;
                       name                  | setting
     ---------------------------------------+---------
       autovacuum_analyze_scale_factor       | 0.1


0.1 means 10%.
 
       autovacuum_vacuum_insert_scale_factor | 0.2
       autovacuum_vacuum_scale_factor        | 0.2
       recursive_worktable_factor            | 10


n_mod_since_analyze=423101205
n_live_tup=6484485348

n_mod_since_analyze/n_live_tup = 6.5%
 
     How can I get more info from postgres on the autovacuum logic?


I would:
1) manually VACUUM ANALYZE the table,
2) drop the three autovacuum_*_scale_factor values down to 0.03 (i.e. 3%),

Reporting back, after reducing the values, the table has been picked up for both autovacuum and analyze. Thank you for the immediate feedback!

Since I had spent some time looking into these values and was "certain" that they were % while they are apparently *not*, I'm wondering if max_val=100 is there because of historical reasons, and if it would make sense to change it to 1.


Dimitris

Reply via email to