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.
-- Gregory Stark EnterpriseDB http://www.enterprisedb.com