"Rich Ryan" <rich@usedcars.com> writes:
> If I kill pid 4168, the idle in transaction process, then the vacuum and all
> the other waiting processes will proceed fine.
You've got a client that is sitting with an open transaction block ---
ie, BEGIN, do something, go to sleep without issuing COMMIT/ROLLBACK.
In 7.1 the "do something" could just be a SELECT; that's still
sufficient to block VACUUM. I think that 7.0 might have been a little
laxer about that, and would not hold a lock for a SELECT-only
transaction.
regards, tom lane