From: Martin Marques <martin@bugs.unl.edu.ar>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Rows with exclusive lock
Date: Mon, 24 Jul 2006 08:28:44 -0300 (ART)
Message-ID: <Pine.LNX.4.64.0607240812500.701@bugs.unl.edu.ar> (raw)
In-Reply-To: <20060723161050.GC32458@surnet.cl>
References: <Pine.LNX.4.64.0607221135470.17932@bugs.unl.edu.ar>
<20060722144218.GH5125@surnet.cl>
<Pine.LNX.4.64.0607221151080.17932@bugs.unl.edu.ar>
<20060723161050.GC32458@surnet.cl>
On Sun, 23 Jul 2006, Alvaro Herrera wrote:
> Martin Marques escribió:
>>
>> 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.
>
> SELECT FOR UPDATE acquires an exclusive lock, but other transactions
> must try to acquire a lock on the rows as well, or they won't be locked.
> You can try using SELECT FOR SHARE (new as of 8.1) if you want some
> transactions to hold shared (read) locks.
Sorry for not getting it clear the first time.
What I want is something like "LOCK table IN ACCESS EXCLUSIVE MODE", but
at row level.
> IOW, SELECT FOR UPDATE blocks other SELECTs FOR UPDATE and SELECTs FOR
> SHARE, but it does not block plain SELECT.
So, this is not posible. :-(
--
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
---------------------------------------------------------
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: martin@bugs.unl.edu.ar, alvherre@commandprompt.com
Subject: Re: Rows with exclusive lock
In-Reply-To: <Pine.LNX.4.64.0607240812500.701@bugs.unl.edu.ar>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox