Re: Actual row order in UPDATE and SELECT FOR UPDATE - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Actual row order in UPDATE and SELECT FOR UPDATE
Date
Msg-id 56C250BD.3090300@aklaver.com
Whole thread Raw
In response to Actual row order in UPDATE and SELECT FOR UPDATE  (Nikolai Zhubr <n-a-zhubr@yandex.ru>)
List 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 by date:

Previous
From: Nikolai Zhubr
Date:
Subject: Actual row order in UPDATE and SELECT FOR UPDATE
Next
From: "David G. Johnston"
Date:
Subject: Re: Actual row order in UPDATE and SELECT FOR UPDATE