Configuré la conexión y el tiempo de espera del comando en 10 minutos en mi aplicación (lado del cliente).
Que mi aplicación ejecuta una consulta simple: SELECT pg_sleep(65)
En algunos servidores funciona bien, pero otros servidores cierran la conexión después de 60 segundos.
¿Podría ser algún tipo de configuración del servidor PostgreSQL que limite los tiempos de espera e ignore la configuración de mi cliente?
postgresql
timeout
Andrzej Gis
fuente
fuente
SHOW statement_timeout;
Respuestas:
Si es posible
Hay dos configuraciones mencionadas en los documentos (
idle_in_transaction_session_timeout
es nuevo en la versión 9.6x)statement_timeout
(entero)idle_in_transaction_session_timeout
(entero)Es importante no configurarlo
statement_timeout
en postgresql.conf a menos que desee diversión.Aquí hay un ejemplo de que funciona
fuente
No fuera de la caja. Sin embargo, sería bastante fácil compilar un servidor personalizado que ignorara su configuración.
Pero es mucho más probable que sus conexiones estén cortadas por un firewall o puerta de enlace que no le gustan las conexiones inactivas.
Si tiene acceso al archivo de registro del servidor, eso debería ser una buena pista. Si el cliente dice que el servidor cerró la conexión inesperadamente, y el servidor dice que el cliente cerró la conexión inesperadamente, entonces es probable que haya algo entre el cliente y el servidor que está cortando la conexión.
fuente
Sí, es posible. Hay algunos parámetros de conexión que debe configurar.
Por favor, consulte el siguiente enlace. https://jdbc.postgresql.org/documentation/head/connect.html
loginTimeout connectTimeout socketTimeout cancelSignalTimeout
fuente