On 10/10/2011 04:21 PM, Espartano wrote:
Hola gente,  estoy corriendo la version 8.3.0 y tengo un problema con
un programa cliente, el problema es el siguiente:

lo que he observado de la aplicación es lo siguiente:

1.- Corre como un daemon, es decir, siempre esta en ejecución y en
background a la espera de conexiones.

2.- Cuando se levanta la aplicación abre una conexión hacia la base de
datos y esta permanece de esa forma, es decir nunca se cierra.


Sospecho que el problema es debido a que el sistema operativo o el
mismo postgresql detecta que en determinada conexión no ha habido
trafico por un tiempo y esta es cerrada.

Mis preguntas son:

1.- Postgres tiene ese comportamiento de cerrar conexiones por inactividad?
No que yo recuerde...es el sistema operativo....o algun router (usas NAT para conectarte?)

2.- Que nivel de logs debería poner en postgresql.conf para poder
detectar el problema ?

3.- entiendo que el error emitido por SQLCODE es determinado por la
librería de postgresql del cliente y no se enviá el error desde el
backend ?

La tercera pregunta la formulo debido a que los desarrolladores
argumentan que su aplicación no tiene problemas, que es postgresql
quien cierra la conexión de forma inesperada y por eso falla la
inserción de datos.
No, pero para poder evitarlo podrias cambiar los parametros :

tcp_keepalives_idle
tcp_keepalives_interval
tcp_keepalives_count

Fijate en http://www.postgresql.org/docs/8.2/static/runtime-config-connection.html


La version de postgresql que estamos utilizando es 8.2.0

Cualquier comentario se los agradezco.


Saludos

Rodrigo

Responder a