Re: Actual row order in UPDATE and SELECT FOR UPDATE
От | Adrian Klaver |
---|---|
Тема | Re: Actual row order in UPDATE and SELECT FOR UPDATE |
Дата | |
Msg-id | 56C250BD.3090300@aklaver.com обсуждение исходный текст |
Ответ на | Actual row order in UPDATE and SELECT FOR UPDATE (Nikolai Zhubr <n-a-zhubr@yandex.ru>) |
Список | pgsql-general |
On 02/15/2016 02:17 PM, Nikolai Zhubr wrote: > Hello all, > > I can't find any clear description of how to reliably figure and/or > enforce specific row (locking) order within UPDATE and SELECT FOR UPDATE > statements dealing with multiple rows. > I'd like to get rid of some deadlocks (caused by share locks). While the > manual explains locks and deadlocks themselves pretty fine (in e.g. > http://www.postgresql.org/docs/9.5/static/explicit-locking.html > ) it somehow avoids discussing multi-row updates there. On the other > hand, the UPDATE section of the manual somehow avoids discussing actual > update order and respective locking too. > So is it defined anywhere explicitely? Or do I rather have to convert > all multi-row UPDATE statements into single-row updates and then wrap > them into e.g. plpgsql loops? That would look quite strange... > Any hints? http://www.postgresql.org/docs/9.4/interactive/transaction-iso.html Might also help if you give a code example of what you are trying to do? > > > Thank you, > Nikolai > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: