Re: Rows with exclusive lock
От | Martin Marques |
---|---|
Тема | Re: Rows with exclusive lock |
Дата | |
Msg-id | Pine.LNX.4.64.0607221151080.17932@bugs.unl.edu.ar обсуждение исходный текст |
Ответ на | Re: Rows with exclusive lock (Alvaro Herrera <alvherre@commandprompt.com>) |
Ответы |
Re: Rows with exclusive lock
Re: Rows with exclusive lock |
Список | 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 по дате отправления: