Re: Can SELECT … NOWAIT “deadlock”?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Can SELECT … NOWAIT “deadlock”?
Дата
Msg-id 5514.1566309547@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Can SELECT … NOWAIT “deadlock”?  (Toni Cárdenas <toni@tcardenas.me>)
Список pgsql-general
=?UTF-8?Q?Toni_C=C3=A1rdenas?= <toni@tcardenas.me> writes:
> Imagine the same `SELECT ... NOWAIT` statement, which returns rows R1 and
> R2, is run from concurrent connections S1 and S2.

>  1. S1 obtains and locks R1.
>  2. S2 obtains and locks R2.
>  3. S1 tries to obtain R2, but it's locked by S2.
>  4. S2 tries to obtain R1, but it's locked by S1.
>  5. The lock on R1 is released due to S1 failing.

> The question is whether step 4 can actually happen between step 3 and 5, or
> else steps 3 and 5 are performed atomically with respect to concurrent
> selects.

I see no reason to think that 3 and 5 would appear to be atomic.

            regards, tom lane



В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: pg_dump problems: [archiver (db)] query failed: ERROR: relation"pg_opfamily" does not exist
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_dump problems: [archiver (db)] query failed: ERROR: relation "pg_opfamily" does not exist