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/
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 |