Cordial Saludo Compañeros:

Tengo un servidor windows con postgresql 8.3.5 que desde hace algún tiempo me 
esta generando transacciones "a medias" (no atómicas) generando bastantes 
problemas. Lo que puedo distinguir de especial en el log de la DB son warnings 
del tipo:

2009-03-28 07:21:22 COT WARNING:  there is already a transaction in progress

Inicialmente pensé en que fuese un error de aplicación (la aplicación intentaba 
hacer un BEGIN cuando ya se había establecido una transacción), pero no ha sido 
posible reproducir el error en mi máquina de desarrollo, de hecho el error 
comenzó a presentarse de un momento a otro sin aparente razón.

He hecho un backup - restore para descartar corrupción de la DB pero sin 
resultado, la DB no es muy grande (cerca de 1.6GB).

Normalmente de la configuración por default sólo modifico el work_mem, 
shared_buffers y maintenance_work_mem de acuerdo a la memoria RAM disponible en 
el servidor.

He tratado también de generar un log completo de sentencias enviadas al 
servidor (desde la aplicación) y extrañamente a la hora exacta que se presenta 
el warning en el log de postgresql no me reporta sentencias. Esto realmente no 
me dice nada porque podría ser desde otra estación, aunque de inicio sólo se 
están generando PROCESOS desde la estación que genero el log. Para tener mayor 
control, voy a habilitar el log de sentencias desde el mismo postgresql.

Después de comentarles mis pesares quisiera saber si este error podría 
presentarse por una errónea configuración del motor o algún conflicto del 
vaccum o cualquier prueba que se les ocurra realizar.

Aclaro que el servidor no presenta otros errores con lo cual temas como 
problemas físicos en memoria o disco duro quedarían descartados.

Muchas Gracias.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

Responder a