Hannu Krosing <hannu(at)skype(dot)net> writes:
> There is no fundamental reason, why vacuum needs to run in a transaction
> itselt.
I'll just take one point: you cannot hold locks unless you have a
transaction, therefore you cannot even look up the catalog info about
the table you wish to vacuum; let alone prevent someone else from
dropping the table under you.
The current bgwriter is incapable of looking at catalog contents as
such --- it operates only at the level of physical data blocks.
regards, tom lane