From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | hubert depesz lubaczewski <depesz(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: deadlock in single-row select-for-update + update scenario? How could it happen? |
Date: | 2014-08-22 16:45:46 |
Message-ID: | 53F773BA.7030309@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 08/22/2014 09:29 AM, hubert depesz lubaczewski wrote:
> I have developer with pg 9.3.5, which is reporing something really strange.
>
> He runs importer, which does, in single transaction:
>
> begin;
> select * from table where pkey = <value> limit 1 for update;
> update table set ... where pkey = <the same_value>;
> commit;
>
> and two backends running the same transaction deadlock.
>
> I checked for duplicated rows with the same pkey value - none are there.
> And frankly - I'm out of ideas.
>
> What could be wrong in such case?
So process 66017 and 66014 are blocking each because they are running
the exact same queries. The interesting part is the process with the
lower pid is starting later then the none with the higher pid.
So what exactly is 'importer' and what does it do?
Also what is this (59303)?
>
> Detailed logs, with just some obfuscation:
> https://depesz.privatepaste.com/0594a93459
>
> depesz
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2014-08-22 16:55:27 | Re: deadlock in single-row select-for-update + update scenario? How could it happen? |
Previous Message | hubert depesz lubaczewski | 2014-08-22 16:29:00 | deadlock in single-row select-for-update + update scenario? How could it happen? |