Vous n'êtes pas identifié(e).

#1 24/09/2017 20:41:04

sihem_info
Membre

status IDLE

bonjour

serai t'il nécessaire de faire un pg_terminate_backend(procpid) pour un SPID en statu "idle"

si je lance cette requête pour vérifier les look  j'aurai que des requête avec un status idle

Dans quel cas je doit tuer ces procesus

SELECT pid, age(query_start, clock_timestamp()), usename, query 
FROM pg_stat_activity 
WHERE query NOT ILIKE '%pg_stat_activity%' 
ORDER BY query_start desc; 

cordialement

Dernière modification par sihem_info (24/09/2017 20:43:11)

Hors ligne

#2 24/09/2017 21:15:55

gleu
Administrateur

Re : status IDLE

Jamais. Pourquoi voulez-vous les tuer ?


Guillaume.

Hors ligne

#3 25/09/2017 13:42:18

sihem_info
Membre

Re : status IDLE

j'ai comme résultat du requête des processus qui ont plus de 2Jour avec ce status <IDLE> in transaction

procpid |           age            | usename  |                    current_query
---------+--------------------------+----------+-----------------------------------------------------
   46655 | -2 days -22:06:43.193043 | cair2 | <IDLE> in transaction
   46652 | -2 days -22:06:44.196716 | cair2 | <IDLE> in transaction
(2 lignes)

Dernière modification par sihem_info (25/09/2017 13:42:38)

Hors ligne

#4 25/09/2017 13:55:36

ruizsebastien
Membre

Re : status IDLE

Bonjour,

Je crois qu'il faut plutôt voir du côté applicatif (l'application libère t'elle correctement les sessions, y a t'il un problème de conf au niveau des pools de connexion (s'il y en a) des fonctions ou des utilisateurs n'ont-ils pas oublié un END dans le code ou dans leurs commandes, etc...)

Cordialement,


Cordialement,

Sébastien.

Hors ligne

#5 25/09/2017 17:54:14

sihem_info
Membre

Re : status IDLE

merci Sébastien.

pour votre réponse juste une dernière Question SVP

comment je peux récupérer le syntaxe du Query  en question

pour info je suis sous la version 9.2

merci

Hors ligne

#6 25/09/2017 17:54:22

gleu
Administrateur

Re : status IDLE

En fait, ces deux sessions ont débuté une transaction, qu'elles n'ont pas terminé. Le mieux est en effet de les tuer avec pg_terminate_backend, mais il faut aussi comprendre pourquoi, comme le dit Sébastien, l'application ou le driver n'a pas exécuté un COMMIT ou un ROLLBACK en fin de transaction.


Guillaume.

Hors ligne

#7 25/09/2017 17:54:58

gleu
Administrateur

Re : status IDLE

De quel requête parlez vous ?


Guillaume.

Hors ligne

#8 26/09/2017 11:56:05

sihem_info
Membre

Re : status IDLE

bonjour

Si je fait un pg_cancel_backend( procpid)

faut il beaucoup du temps pour qu'il soit annuler

car si j'ai fait ça sur les deux processus 46655 et 46652 et il ne sont pas annuler immédiatement

cordialement

Hors ligne

#9 26/09/2017 15:22:17

gleu
Administrateur

Re : status IDLE

Normalement, c'est immédiat pour un processus actif.


Guillaume.

Hors ligne

Pied de page des forums