Re: ExclusiveLock and Python - Mailing list pgsql-admin

From Michael A. Schulte
Subject Re: ExclusiveLock and Python
Date
Msg-id 3E5F248F.8020606@sun.com
Whole thread Raw
In response to ExclusiveLock and Python  ("Gaetano Mendola" <mendola@bigfoot.com>)
List pgsql-admin
Tom Lane wrote:
> "Gaetano Mendola" <mendola@bigfoot.com> writes:
>
>>select * from pg_locks where  mode = 'ExclusiveLock';
>> relation | database | transaction |  pid  |     mode      | granted
>>----------+----------+-------------+-------+---------------+---------
>>          |          |     2560899 | 20404 | ExclusiveLock | t
>
>
>>ExclusiveLock on what ?
>
>
> Your own transaction, that's what.
>
> If one transaction needs to wait for a specific other transaction, it
> does so by attempting to grab ShareLock on the transaction ID.  When
> the other transaction completes (and releases its ExclusiveLock on its
> ID), the waiter is released.
>
> Offhand I think this is only used to implement waits associated with
> SELECT FOR UPDATE row locking --- all other locks are on tables or
> table-like objects.

What about two processes updating the same row? I thougth
PostGres locks the row in this case and this would also
be reflected as an entry in pg_locks with mode
ExclusiveLock.

michael

--
Michael Schulte, Solaris Kernel Development, Sun Microsystems


pgsql-admin by date:

Previous
From: ahmed zatout
Date:
Subject: Alerte
Next
From: "Ripal Shah"
Date:
Subject: Cannot Install!