Looking at the system bit more now, it look like 'waiting' states are
changing for both the query and autovacuum in pg_stat_activity.
But very slowly. It looks like they both got into that sort of state
that keeps them on the edge of starvation.
So this isn't really a deadlock, but rather very poor performance in
this corner case.
This is a test system, so I can harvest some more data from it.
Already got core files for autovacuum and query connections.
I'm hoping for more suggestions as to how to gather more intel - so
that could be useful to you guys.
Unfortunately my knowledge about locking mechanisms in postgresql is
rather poor, other then the basic one.