Vous n'êtes pas identifié(e).
Pages : 1
bonjour a tous,
j'ai sur la base que j'administre des verrous RowExclusiveLocks depuis quelques jours, et ce beaucoup plus qu'a l'accoutumée, (vues dans mes graphes puis dans pg_locks).
J'aimerais savoir quelles sont les requetes qui en sont la cause, pourriez vous me dire comment les trouver ?
Merci d'avance
Hors ligne
Dans la table pg_locks, où vous voyez vos RowExclusiveLocks, vous trouverez une colonne pid. En utilisant la valeur de cette colonne avec la colonne procpid de la table pg_stat_activity, vous trouverez la requête dans la colonne current_query.
Guillaume.
Hors ligne
Parfait, je vous remercie !
Hors ligne
Dans le meme genre, j'ai ma base qui s'est complètement bloquée à cause du nombre trop important de connexions, et je n'ai eu d'autres choix que de l'arreter et la redémarrer.
Dans ma supervision munin, je joius qu'il y a eu un nombre très importans de connexions en "waiting for lock"
Je penche donc pour une requete qui aurait bloqué tout le reste ... y a il un moyen de savoir laquelle ? (car si j'ai bien compris pg stat activity / pg locks ne gèrent que les requetes en cours non ?)
Merci !
Hors ligne
Une fois le serveur arrêté, il n'y a plus moyen de savoir quoi que ce soit. Par contre, on peut savoir avant d'arrêter le serveur. D'ailleurs, il ne faut pas l'arrêter. Il faut trouver la requête qui bloque les autres, comprendre le problème et le corriger.
Guillaume.
Hors ligne
On peut aussi avoir davantage de détails sur les verrous sur enregistrements avec le contrib pgrowlocks.
Marc.
Hors ligne
Pages : 1