> Alternatively, perhaps a threshold so that a table is only considered > for vacuum if: > (table-size * overall-activity-in-last-hour) < threshold > Ideally you'd define your units appropriately so that you could just > define threshold in postgresql.conf as 30% (of peak activity in last 100 > hours say). No, this is definitely not enough. The problem scenario is when autovacuum starts vacuuming a huge table and that keeps it busy 10 hours and in the meantime the small but frequently updated tables get awfully bloated... The only solution to that is to have multiple vacuums running in parallel, and it would be really nice if those multiple vacuums would be coordinated by autovacuum too... Cheers, Csaba.