Re: Autovacuum and toast tables - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Autovacuum and toast tables
Date
Msg-id 20070813223212.GK17177@alvh.no-ip.org
Whole thread Raw
In response to Autovacuum and toast tables  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: Autovacuum and toast tables  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Gregory Stark wrote:

> When autovacuum vacuums a table it always vacuums the toast table as well. Is
> there any particular reason to consider the two together? I think this may
> just be a holdover from the interactive command which considers them together
> because the toast table is supposed to be invisible to users. 
> 
> But autovacuum could look at the stats for the toast tables and make decisions
> about them independently from the main tables, no?
> 
> The reason I ask is because looking in the logs from benchmarks I see lots of
> useless vacuuming of empty toast tables which have no dead tuples. Now in this
> case it doesn't cost anything because they're empty. But I could easily see
> situations where the toast tables could be quite large but not be receiving
> any updates when the main table is receiving a large volume of updates on
> other columns.

I think there is some special code in tqual.c that skips some checks
assuming that the toast table is vacuumed at the same time as the main
heap.  I am not sure how vital is that.  Maybe it can be fixed, or maybe
it is not a problem at all.

We go certain lengths in autovacuum to make sure tables are vacuumed
when their toast table needs vacuuming and the main table does not,
which is all quite kludgy.  So we already look at their stats and make
decisions about them.  But what we do after that is force a vacuum to
the main table, even if that one does not need any vacuuming, which is
dumb.

We could certainly fix that, mainly pending analysis of the above
problem.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Proposal: Pluggable Optimizer Interface
Next
From: Tom Lane
Date:
Subject: Re: Autovacuum and toast tables