Re: Autovacuum launcher doesn't notice death of postmaster immediately

Matthew T. O'Connor <matthew@zeut.net>

From: "Matthew T. O'Connor" <matthew@zeut.net>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: "Jim C. Nasby" <decibel@decibel.org>, Michael Paesold <mpaesold@gmx.at>, Tom Lane <tgl@sss.pgh.pa.us>, Andrew Hammond <andrew.george.hammond@gmail.com>, Peter Eisentraut <peter_e@gmx.net>, pgsql-hackers@postgresql.org
Date: 2007-06-08T22:40:59Z
Lists: pgsql-hackers
Alvaro Herrera wrote:
> Jim C. Nasby escribió:
>> There *is* reason to allow setting the naptime smaller, though (or at
>> least there was; perhaps Alvero's recent changes negate this need):
>> clusters that have a large number of databases. I've worked with folks
>> who are in a hosted environment and give each customer their own
>> database; it's not hard to get a couple hundred databases that way.
>> Setting the naptime higher than a second in such an environment would
>> mean it could be hours before a database is checked for vacuuming.
> 
> Yes, the code in HEAD is different -- each database will be considered
> separately.  So the huge database taking all day to vacuum will not stop
> the tiny databases from being vacuumed in a timely manner.
> 
> And the very huge table in that database will not stop the other tables
> in the database from being vacuumed either.  There can be more than one
> worker in a single database.

Ok, but I think the question posed is that in say a virtual hosting 
environment there might be say 1,000 databases in the cluster. Am I 
still going to have to wait a long time for my database to get vacuumed? 
  I don't think this has changed much no?

(If default naptime is 1 minute, then autovacuum won't even look at a 
given database but once every 1,000 minutes (16.67 hours) assuming that 
there isn't enough work to keep all the workers busy.)