This is causing a headache for us, if that is indeed true.
So we have code that goes like
begin;
lock table t1;
lock table t2;
...
...
Of course within our own code, we do make sure things are always locked
in the same order (so we wouldn't create deadlocks). We do, however, end
up in deadlocks with pg_autovacuum which seem to take lock in different
order.
Why does pg_autovacuum need locks on more than one table at a time?
(there tables in question are NOT related to each other via foriegn keys)