On Wed, Jun 16, 2010 at 10:21 AM, Michael P. Soulier <michael_soulier@xxxxxxxxx> wrote: > Hi, > > I'm using Django with Postgres 8.3.9 on CentOS Linux. > > I'm trying to figure out why locking isn't working as I'm expecting. I have a > an operation wrapped in a transaction where I explicitely grab an exclusive > lock on my table. When another process concurrently runs to do the same, it > should block on attempting to acquire the exclusive lock, no? > > That is not what I am seeing. I see two processes both doing this > > 2010-06-16 12:14:31.909608500 LOG: connection received: host=[local] > 2010-06-16 12:14:31.909748500 DEBUG: forked new backend, pid=30726 socket=6 > 2010-06-16 12:14:31.909784500 LOG: connection authorized: user=tugdbuser > database=tugd > b > 2010-06-16 12:14:31.911516500 LOG: statement: SET DATESTYLE TO 'ISO' > 2010-06-16 12:14:31.911630500 LOG: statement: SHOW client_encoding > 2010-06-16 12:14:31.911768500 LOG: statement: SHOW > default_transaction_isolation > 2010-06-16 12:14:31.911849500 LOG: statement: SET client_encoding = 'UTF8' > 2010-06-16 12:14:31.911972500 LOG: statement: BEGIN; SET TRANSACTION > ISOLATION LEVEL R > EAD COMMITTED > 2010-06-16 12:14:31.912028500 LOG: statement: SET TIME ZONE > E'America/New_York' > 2010-06-16 12:14:31.912373500 LOG: statement: SELECT version() > ...skipping... > 2010-06-16 12:14:31.913008500 LOG: statement: LOCK TABLE instances IN ROW > EXCLUSIVE MODE > > The first lock does not seem to prevent the second from completing. I only see one lock here. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general