Desbloquear fila dentro de transaccion

From: Gregorio Diaz <gregorio_diaz(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Desbloquear fila dentro de transaccion
Date: 2006-05-11 01:16:21
Message-ID: 20060511011621.17807.qmail@web36208.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Listeros

Tengo la siguiente duda: dada una tabla cualquiera,
por ejemplo 'clientes', 'facturas', 'productos' o lo
que sea,
me encuentro con que dentro de una transacción, al
usar UPDATE, la fila queda bloqueada hasta
el final de la transacción, y por lo tanto si en otra
máquina o proceso intento hacer otro UPDATE
no lo puedo hacer si la primera transacción no ha
termina aún, cómo puedo hacer para liberar
una fila (o registro) antes que termine la transacción
en curso (claro esta sin cancelarla).

Prove algo similar a esto:

1ra. Máquina:

BEGIN
UPDATE SET productos SET precio = precio * 1.05 WHERE
referencia = '1230'
.....
(más productos por modificar)
.....
COMMIT

2da. Máquina

BEGIN
UPDATE SET productos SET precio = precio * 1.05 WHERE
referencia = '1230'
.....
(más productos por modificar)
.....
COMMIT

Y hay conflictos, pues Postgresql no desbloquea los
registros sino hasta el final de la transacción.
Es más, cada nuevo registro que se actualize dentro de
la transacción va quedando bloqueado
para los otros registros.

Ustedes me diran que se debe evitar estas dos
operaciones al mismo tiempo, pero lo que muestro
arriba es un ejemplo.

Y las preguntas son:

1. ¿cómo puedo hacer para liberar una fila (o
registro) antes que termine la transacción en curso?
2. Con que función o comando de postgresql puedo
determinar si una fila o registro se encuentra
bloqueda?.
Ya mire todo el manual y lo más cercano es "pg_locks"
pero no me da información acerca de los bloqueos
a nivel de filas (Row-level locks)

Muchas gracias

Gregorio Diaz
Bogotá, Colombia

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Rodrigo Gallardo Cruz 2006-05-11 01:36:22 Re: Desbloquear fila dentro de transaccion
Previous Message Damián Culotta 2006-05-11 00:25:02 Consulta sobre armado de esquema con Slony y Pgpool