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

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

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