Csaba Nagy wrote:
> > 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...
Yes, I agree, having multiple "autovacuum workers" would be useful.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support