deadlock on simple update

From: Jiří Pavlovský <jira(at)getnet(dot)cz>
To: pgsql-general(at)postgresql(dot)org
Subject: deadlock on simple update
Date: 2010-05-11 10:01:16
Message-ID: 4BE92AEC.9070106@getnet.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,
I have 8.4.2. I'm getting deadlock when multiple processes try to update
a table. Strange is it is a simple table with no triggers firing etc.
Just an id and a numerical field to update. So I'm at odds as to what
could cause the deadlock?

DETAIL: Process 8253 waits for ShareLock on transaction 7001023;
blocked by process 8230.
Process 8230 waits for ExclusiveLock on tuple (17,269) of
relation 17544 of database 16417; blocked by process 8226.
Process 8226 waits for ShareLock on transaction 7000961; blocked
by process 8253.
Process 8253:
UPDATE statistics SET count = count + 1 WHERE ArticleID=$1 AND
Language=$2

Process 8230:
UPDATE statistics SET count = count + 1 WHERE ArticleID=$1 AND
Language=$2

Process 8226:
UPDATE statistics SET count = count + 1 WHERE ArticleID=$1 AND
Language=$2

HINT: See server log for query details.
STATEMENT:
UPDATE statistics SET count = count + 1 WHERE ArticleID=$1 AND
Language=$2

ERROR: current transaction is aborted, commands ignored until end of
transaction block

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mickaël DA ROCHA 2010-05-11 13:19:58 Full Text Search : Parse date
Previous Message Alexander Pyhalov 2010-05-11 09:49:38 Re: log database in which error occurs