Re: Deadlock on the same select for update

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: Roman <roman(dot)janowczyk(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Deadlock on the same select for update
Date: 2011-02-21 20:50:11
Message-ID: 20110221155011.01b01b09.wmoran@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In response to Roman <roman(dot)janowczyk(at)gmail(dot)com>:

> Hi,
> I have problem with deadlocks and don't know why it happens. Below is
> the log (postgres 9.0, debian):
>
> [11882]DETAIL: Process 11882 waits for ShareLock on transaction
> 44324308; blocked by process 11884.
> Process 11884 waits for ShareLock on transaction 44324307;
> blocked by process 11882.
>
> Process 11882: SELECT * FROM teddy WHERE id IN
> (112747007,112747008,112747011,112747013,112747015,112747016,112747020,112747021,112747022,112747024,112747025,112747028,112747030,112747032,112747034,112747035,112747038,112747043,112747044,112747045,112747050,112747052,112747053)
> FOR UPDATE
>
> Process 11884: SELECT * FROM teddy WHERE id IN
> (112747007,112747008,112747011,112747013,112747015,112747016,112747020,112747021,112747022,112747024,112747025,112747028,112747030,112747032,112747034,112747035,112747038,112747043,112747044,112747045,112747050,112747052,112747053)
> FOR UPDATE

My experience is that you have no guarantee what order SELECT FOR UPDATE
will lock those rows in, thus the chance for deadlock is there.

--
Bill Moran
http://www.potentialtech.com
http://people.collaborativefusion.com/~wmoran/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Davidson 2011-02-21 22:22:28 why is there no TRIGGER ON SELECT ?
Previous Message Greg Sabino Mullane 2011-02-21 20:32:34 Re: disable triggers using psql