Re: Second attempt, roll your own autovacuum

Richard Huxton <dev@archonet.com>

From: Richard Huxton <dev@archonet.com>
To: Csaba Nagy <nagy@ecircle-ag.com>
Cc: Christopher Browne <cbbrowne@acm.org>, Postgres general mailing list <pgsql-general@postgresql.org>
Date: 2006-12-19T15:46:23Z
Lists: pgsql-hackers
Csaba Nagy wrote:
> 
>> - One might have *two* consumers, one that will only process small
>>   tables, so that those little, frequently updated tables can get
>>   handled quickly, and another consumer that does larger tables.
>>   Or perhaps that knows that it's fine, between 04:00 and 09:00 UTC,
>>   to have 6 consumers, and blow through a lot of larger tables
>>   simultaneously.
> 
> So one of the 2 might be enough. I guess time-based
> exclusion/permissions are not that easy to implement, and also not easy
> to set up properly... so what could work well is:

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).

-- 
   Richard Huxton
   Archonet Ltd