Re: Update / Lock (and ShareLock) question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Augustin Amann <augustin(at)waw(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Update / Lock (and ShareLock) question
Date: 2008-07-11 14:51:30
Message-ID: 3888.1215787890@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Augustin Amann <augustin(at)waw(dot)com> writes:
> Tom Lane a crit :
>> What that really means is that the first process is waiting for a row
>> lock that's held by the second one --- that is, it's trying to update a
>> row that the second transaction has updated and not yet committed.

> I understand. But a dead lock is for me, a situation that sould not
> appear, event if the storage is slow ... I'm wrong ?

If you're getting deadlocks on these, then what you have is two
concurrent transactions trying to update the same two tuples in
different orders. Which is a classic deadlock case, and the only
fix is to fix your app so that multiple updates are done in some
consistent order --- or broken into multiple transactions.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-07-11 15:34:35 Re: view row-level locks
Previous Message Francisco Reyes 2008-07-11 14:47:56 Default fill factor for tables?