Re: Duda conceptual sobre locks en PostgreSQL

From: "Agustin Casiva" <casivaagustin(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Duda conceptual sobre locks en PostgreSQL
Date: 2007-08-18 14:02:58
Message-ID: 646eb5870708180702p31cc6d68h475d2a1890cf979a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 8/15/07, Gustavo <gustavor(at)intercomgi(dot)net> wrote:
>
>
> 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)
>

Podrías pasar el codigo completo de la función para ver el orden de
las consultas de inserción y acutalización, y la definición de las
tablas.

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

Si quieres ver el problema mira los logs de la postgres, en caso de
que falte información verifica las opciones de logeo en
postgresql.conf, talvez necesites cambiar los niveles de mensajes en
la sección - When to Log -.

Saludos

--
Agustin Casiva
http://www.osis.com.ar
casivaagustin(at)gmail(dot)com
http://www.casivaagustin.com.ar

Para leer adjuntos necesitará Open Office http://es.openoffice.org/programa/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gustavo 2007-08-18 14:25:10 Re: Duda conceptual sobre locks en PostgreSQL
Previous Message Gustavo 2007-08-18 13:53:53 Problemas al instalar PostgreSQL 8.2.4 en Windows 2000