Обсуждение: pg_autovacuum taking locks on multiple tables at the same time

Поиск
Список
Период
Сортировка

pg_autovacuum taking locks on multiple tables at the same time

От
Hari Bhaskaran
Дата:
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)


Re: pg_autovacuum taking locks on multiple tables at the same time

От
Tom Lane
Дата:
Hari Bhaskaran <hbhaskaran@gmail.com> writes:
> Why does pg_autovacuum need locks on more than one table at a time?

It doesn't --- unless maybe you are considering system catalogs, in
which case I'd wonder why you need exclusive lock on a catalog.

If you can prove the contrary, let's see a test case.

            regards, tom lane