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