It looks like you've got a transaction which is staying open while holding
a lock. I'm not sure why it'd be different between versions.
If you turn up the debugging level and turn on at least log_pid you should
be able to see what statements the process from that pid has executed.
> If I kill pid 4168, the idle in transaction process, then the vacuum and all
> the other waiting processes will proceed fine. Any clues to what could be
> hanging or how I could get more information from postmaster about what
> transaction is hanging?