Duda conceptual sobre locks en PostgreSQL

From: "Gustavo" <gustavor(at)intercomgi(dot)net>
To: "PostgreEs" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Duda conceptual sobre locks en PostgreSQL
Date: 2007-08-15 22:47:52
Message-ID: 000701c7df8e$54682550$e802a8c0@Maquina
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas lista

Tengo el siguiente problema. Estoy desarrollando una aplicacion que invoca a funciones definidas en la BD y luego de andar un rato, me tira un deadlock y no se bien porque. me late que viene por un SELECT .. FOR UPDATE que tengo definido en una funcion.

Lo uso asi:

//Busco bloquear una fila de la tabla para que otra transaccion no obtenga el mismo id
SELECT contador_actual FROM tabla_contador WHERE id_usr=xx FOR UPDATE;

..// Hago inserciones en una tabla usando el contador que obtuve

//Actualizo el contador
UPDATE tabla_contador SET contador_actual=contador_actual+1 WHERE id_usr=xx;

Esta bien usado? hay alguna otra forma de hacer esto?( creo que las secuencias no se adaptarian para este caso)

Existe alguna forma de detectar como sucedio el deadlock mirando lso logs de la BD??

Gracias y saludos

Gustavo

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gustavo 2007-08-15 23:12:29 Duda conceptual sobre locks en PostgreSQL (SIN HTML)
Previous Message Jenaro Centeno Gomez 2007-08-15 22:31:17 Re: Este es el verdadero problema??