$subject would be bad because of potential deadlocks against other
transactions that might try to exclusive-lock more than one table.
We should be OK for actual vacuum operations, but I think that if
autovac chooses to just ANALYZE multiple tables, it will do it in
one transaction and accumulate locks. Probably the use_own_xacts
logic in vacuum() ought to special-case IsAutoVacuumWorkerProcess.
regards, tom lane