From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Jean-Christian Imbeault <jc(at)mega-bucks(dot)co(dot)jp> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Deadlock error!? |
Date: | 2002-09-19 15:18:09 |
Message-ID: | 20020919080631.T27428-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, 19 Sep 2002, Jean-Christian Imbeault wrote:
> I got the following error while running some php code:
>
> Warning: pg_exec() query failed: ERROR: deadlock detected in
> /www/htdocs/jc/import/import_orders.php on line 189
> CONNECTION: could not execute query (update invoices set
> total_price=(select sum(price) from invoice_li where invoice_id=id))
>
> This happened while the PHP code was running and and on the console I
> did this query:
>
> psql TMP -c "update invoices set payment_rcvd=true"
>
> The PHP code was executing SQL inside a transaction and the total
> running time is about 1 minute. Why a deadlock?
>
> Whatever is happening inside a transaction is given a snapshot of the DB
> and should be oblivious to other queries no?
Does invoices have any foreign key? My prime suspect is that the over
strong locks there did it. And if they were oblivious snapshots,
which of those two statements did you want to take effect since one
would blast away the other's changes? ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Johnson, Shaunn | 2002-09-19 15:19:03 | Re: killing process question |
Previous Message | Stephan Szabo | 2002-09-19 15:06:18 | Re: Adding "on delete cascade" after table creation ? |