Re: Deadlock error!?

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? ;)

In response to

Browse pgsql-general by date

  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 ?