Re: Problemas de concurrencia?

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: postgres ayuda sql español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problemas de concurrencia?
Date: 2009-09-21 17:20:54
Message-ID: 4AB7B5F6.6060401@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> Jorge Romeo escribió:
>
>> 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.
>
> Cuando eso pasa es porque hay una transacción abierta. Obviamente
> alguna capa de tu aplicación está abriendo una transacción. Yo creo que
> es por ahí que debes investigar.
>

De forma predeterminada psycopg2 utiliza READ_COMMITED, abre las transacciones automáticamente y no
se cierran hasta se envía explicitamente un commit() o rollback().

Para cambiar esta forma de trabajar hay que utilizar el método set_isolation_level() que ademas de
READ_COMMITED (default) y SERIALIZABLE tiene la opción AUTOCOMMIT:

con.set_isolation_level(0)

Saludos,

--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Carlos Chevarria 2009-09-21 17:25:25 Re: Abierta la inscripción a PGCon Brasil 2009
Previous Message Alvaro Herrera 2009-09-21 16:50:53 Re: dudas basicas