J'ai défini le délai de connexion et de commande sur 10 minutes dans mon application (côté client).
Que mon application exécute une simple requête: SELECT pg_sleep(65)
Sur certains serveurs, cela fonctionne bien, mais d'autres serveurs ferment la connexion après 60 secondes.
Serait-ce une sorte de configuration de serveur PostgreSQL qui limite les délais d'attente et ignore mes paramètres client?
postgresql
timeout
Andrzej Gis
la source
la source
SHOW statement_timeout;
Réponses:
Oui c'est possible
Il y a deux paramètres mentionnés dans les documents (
idle_in_transaction_session_timeout
est nouveau dans la version 9.6x)statement_timeout
(entier)idle_in_transaction_session_timeout
(entier)Il est important de ne pas définir le
statement_timeout
fichier dans postgresql.conf sauf si vous voulez vous amuser.Voici un exemple de fonctionnement
la source
Pas hors de la boîte. Il serait cependant assez facile de compiler un serveur personnalisé qui ignorerait vos paramètres.
Mais il est beaucoup plus probable que vos connexions soient interrompues par un pare-feu ou une passerelle qui n'aime pas les connexions inactives.
Si vous avez accès au fichier journal du serveur, cela devrait donner un bon indice. Si le client dit que le serveur a fermé la connexion de manière inattendue et que le serveur a dit que le client a fermé la connexion de manière inattendue, alors c'est probablement quelque chose entre le client et le serveur qui coupe réellement la connexion.
la source
Oui c'est possible. Vous devez définir certains paramètres de connexion.
Veuillez vous référer au lien ci-dessous. https://jdbc.postgresql.org/documentation/head/connect.html
loginTimeout connectTimeout socketTimeout cancelSignalTimeout
la source