| От | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера