Re: Rows with exclusive lock - Mailing list pgsql-sql

From Martin Marques
Subject Re: Rows with exclusive lock
Date
Msg-id Pine.LNX.4.64.0607221151080.17932@bugs.unl.edu.ar
Whole thread Raw
In response to Re: Rows with exclusive lock  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: Rows with exclusive lock
Re: Rows with exclusive lock
List pgsql-sql
On Sat, 22 Jul 2006, Alvaro Herrera wrote:

> Martin Marques escribió:
>> Is it posible to get an exclusive (read/write) lock on certain rows? I
>> don't want to block the whole table, only certain rows, but I want it to
>> be a read/write lock.
>
> That's what SELECT FOR UPDATE does.

Hi Alvaro,

After the SELECT FOR UPDATE other transactions can still see the locked
rows. I want a read/write lock, so no one can access does rows.

>
>> AFAIK SELECT FOR UPDATE doesn't help with this.
>
> Why?

trans1:

prueba2=> BEGIN;
BEGIN
prueba2=> SELECT * FROM personas FOR UPDATE; codigo | nombre | apellido | tipodoc |  docnum
--------+--------+----------+---------+----------      3 | Martin | Marques  |       1 | 23622139
(1 row)


Meanwhile, at this moment trans2:

prueba2=> BEGIN;
BEGIN
prueba2=> SELECT * FROM personas; codigo | nombre | apellido | tipodoc |  docnum
--------+--------+----------+---------+----------      3 | Martin | Marques  |       1 | 23622139
(1 row)


pg_locks shows the the lock is RowShareLock, so there is no read lock on
those rows, which is what I want.

-- 21:50:04 up 2 days,  9:07,  0 users,  load average: 0.92, 0.37, 0.18
---------------------------------------------------------
Lic. Martín Marqués         |   SELECT 'mmarques' ||
Centro de Telemática        |       '@' || 'unl.edu.ar';
Universidad Nacional        |   DBA, Programador,    del Litoral             |   Administrador
---------------------------------------------------------

pgsql-sql by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Rows with exclusive lock
Next
From: Florian Weimer
Date:
Subject: Re: Rows with exclusive lock