We recently upgraded from 8.3.something to 9.0.1. With 9.0.1, we have a huge spike in vacuums every 8 days only on one of our DB servers. We go from approx 20 vacuums every 5 minutes to 350 per 5 minutes. This lasts for several hours, then stops. I have attached a graph that shows the occurrence. I am assuming that it needs to vacuum all of my tables to avoid some sort of wrap around counter. I am wondering what is the best way to make autovacuum spread this out so it will not be quite a big of a hit. I we did not see this with 8.3 and I kept the setting the same after the upgrade.
Here are my autovacuum settings:
autovacuum = on
log_autovacuum_min_duration = 0
autovacuum_max_workers = 5
autovacuum_naptime = 1min
autovacuum_vacuum_threshold = 100
autovacuum_analyze_threshold = 100
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_scale_factor = 0.05
autovacuum_freeze_max_age = 200000000
autovacuum_vacuum_cost_delay = 20ms
autovacuum_vacuum_cost_limit = -1
Any suggestions would be appreciated.
Thanks,