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