Re: Misunderstanding transactions and locks

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: "Michael P(dot) Soulier" <michael_soulier(at)mitel(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Misunderstanding transactions and locks
Date: 2010-06-16 19:36:15
Message-ID: AANLkTilH1UQifttebfA90pMfGIBsY4t7WDzXxm04vLzn@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Jun 16, 2010 at 10:21 AM, Michael P. Soulier
<michael_soulier(at)mitel(dot)com> 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.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Szymon Guz 2010-06-16 19:44:35 Re: Working with pages of data (LIMIT/OFFSET keyword)
Previous Message sunpeng 2010-06-16 19:02:22 Re: hi,i write a function in postgresql source code, how to register this function?