Re: Autovacuum loose ends - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Autovacuum loose ends
Date
Msg-id 21268.1121364772@sss.pgh.pa.us
Whole thread Raw
In response to Re: Autovacuum loose ends  ("Matthew T. O'Connor" <matthew@zeut.net>)
Responses Re: Autovacuum loose ends
Re: Autovacuum loose ends
Re: Autovacuum loose ends
Re: Autovacuum loose ends
List pgsql-hackers
"Matthew T. O'Connor" <matthew@zeut.net> writes:
> Speaking of which, I think I mentioned this to Alvaro, but I guess it 
> just didn't make it in.  The pg_autovacuum table should have a few 
> additional columns that allow setting vacuum delay settings on a per 
> table basis.  I also think that there should be GUC settings for the 
> default autovacuum delay settings which an admin might want to be 
> separate from the system wide default vacuum delay settings.

I was thinking GUC settings only; is there a real use-case for
table-specific delay parameters?  ISTM the point of the delay parameters
for autovac is to put a lid on its impact on interactive response.  Seen
in that light, you do not care exactly which table it's hitting at the
moment.

>> * I'm still pretty concerned about the handling of shared catalogs.

> This was handled in the contrib version by only vacuuming shared 
> catalogs inside template1, however it would then analyze those tables in 
> each and every database.  Is there a reason this solution is not 
> adequate?

The problem is that now that we've invented the default postgres
database, it becomes more plausible to think about installations that
haven't got a template1 at all.  I'd prefer a solution that does not
assume the presence of any specific database.  ISTM reasonable to
process the shared catalogs symmetrically in every DB: look to see
if they need vacuuming or not.  The problem (which was also a problem
for the contrib version) is that the stats system fails to maintain
a single set of stats for a shared catalog --- operations get counted
under whichever DB they were issued from.  This means that autovac
will underestimate the need for vacuuming of a shared catalog, since
no matter where it looks from, it will see only a portion of the
true update activity.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: Simplifying identification of temporary tables
Next
From: Tom Lane
Date:
Subject: Re: Simplifying identification of temporary tables