Re: Understanding of LOCK and pg_sleep interaction

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David Johnston" <polobo(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Understanding of LOCK and pg_sleep interaction
Date: 2011-03-07 18:20:27
Message-ID: 9289.1299522027@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"David Johnston" <polobo(at)yahoo(dot)com> writes:
> In trying to setup a test for a LOCK 'table' algorithm I attempt to execute
> two transactions where the first one issues a pg_sleep(10) while 'table' is
> locked and the second one attempts LOCK 'table' during the time when the
> pg_sleep is executing. When pg_sleep() returns in the first transaction the
> subsequent statement is not executed. Meanwhile, the second transaction
> continues to wait for the lock. Thus, a deadlock has occurred. I am doing
> my testing within PostGreSQL Maestro running as a "script" and issuing BEGIN
> and COMMIT statements around the desired transaction commands.

I don't know anything about PostGreSQL Maestro, but what it sounds like
from this description is that it's not committing the transaction right
away when the script finishes. You might try turning on log_statement
on the server side so you can see exactly what commands are being sent
and when.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Piotr Czekalski 2011-03-07 18:49:01 unexpected EOF on client connection vs 9.0.3
Previous Message Merlin Moncure 2011-03-07 18:13:43 Re: Why count(*) doest use index?