On Wed, 2 Dec 2015 09:31:44 -0800
Christophe Pettus <x...@thebuild.com> wrote:
> 
> On Dec 2, 2015, at 9:25 AM, Bill Moran <wmo...@potentialtech.com> wrote:
> 
> > No. See the section on row level locks here:
> > http://www.postgresql.org/docs/9.4/static/explicit-locking.html
> 
> That wasn't quite my question.  I'm familiar with the row-level locking and 
> the locking messages in general, but this message implies there is such a 
> thing as an AccessExclusiveLock on a tuple, which is new to me.  I wasn't 
> able to produce this message experimentally doing various combinations of 
> UPDATE statements and SELECT FOR UPDATEs, or even with explicit LOCK ACCESS 
> EXCLUSIVE MODE, thus the question.

First off, that documentation page _does_ answer your question.

Secondly, there is a config setting: log_lock_waits, which is
disabled by default. The message won't appear if that is off, so
if you're testing on a different install than where the incident
happened, that could be part of the problem.

Finally, the following sequence triggers the message:

create table test1 (data int);
insert into test1 values (1);

Connection 1:
begin;
select * from test1 where data = 1 for update;

Connection 2:
select * from test1 where data = 1 for update;

Then wait for a little while and the message will be logged.

-- 
Bill Moran


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to