Skip site navigation (1) Skip section navigation (2)

RE: Problemas de concurrencia?

From: "Jorge Romeo" <jromeo(at)samca(dot)com>
To: "Lautaro Moreira" <lautaro(dot)moreira(at)gmail(dot)com>
Cc: postgres ayuda sql español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Problemas de concurrencia?
Date: 2009-09-21 13:58:57
Message-ID: 3BFE4B54139F264587EF9BC8EB40185C065E2882@samca-nt-12.samca.net (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola, gracias por vuestro interés.

Al principio del programa, hago unas inserciones en una tabla temporal, que representa una visión instantánea del estado del parque. Esta tabla se actualiza y se lee continuamente desde distintos hilos y aplicaciones. Como estoy en pruebas, a veces salgo del programa sin borrar estas filas, con lo que al volver a ejecutar el programa, se intentaban reinsertar. De ahí sale el error de la clave duplicada.

El problema es que tras dar este error (tantas veces como aerogeneradores tengo), las siguientes consultas también fallan... Ese es el verdadero problema que quiero evitar. Por ahora tengo una solución fea que funciona, que es meter un "conexion.commit()" en el control de la excepcion, para que cada vez que falla de por terminado el bloque y la siguiente consulta no falle.

@Marcos: Respecto al LOG, lo he estado mirando pero lo tenía con demasiado detalle y no se va nada. Ahora he bajado el detalle a "error" para ver si veo algo en los siguientes fallos.

@Marcos: A mi también me gustaría ver alguna de esas pruebas, ¡por favor!

Saludos,
Jorge


-----Mensaje original-----
De: Lautaro Moreira [mailto:lautaro(dot)moreira(at)gmail(dot)com] 
Enviado el: lunes, 21 de septiembre de 2009 15:28
Para: Jorge Romeo
CC: postgres ayuda sql español
Asunto: Re: [pgsql-es-ayuda] Problemas de concurrencia?



Jorge Romeo escribió:
> No utilizo ningún comando BEGIN para iniciar bloques, y tengo activado 
> el autocommit y el commit_delay a 0, por lo que todas las consultas 
> deberían ejecutarse en el acto y separadamente, de manera que si una 
> falla no debería afectar a las demás... (al menos esa es mi idea).
>  
> ¿Alguna idea de lo que me está pasando?
>  

Jorge ,

¿ Tienes algun trigger que se ejecuta en la insercion ?, puede que el 
trigger sea el que esta causando el problema, normalmente eso va 
relacionado con claves duplicadas.

Atte.,
Lautaro Moreira



Responses

pgsql-es-ayuda by date

Next:From: Emanuel Calvo FrancoDate: 2009-09-21 14:21:11
Subject: Re: Problemas de concurrencia?
Previous:From: Lautaro MoreiraDate: 2009-09-21 13:28:27
Subject: Re: Problemas de concurrencia?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group