Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 17/09/2012 11:36:46
- tsn77130
- Membre
verrous sur tables
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
#2 17/09/2012 12:01:04
- gleu
- Administrateur
Re : verrous sur tables
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
#3 17/09/2012 14:36:07
- tsn77130
- Membre
Re : verrous sur tables
Parfait, je vous remercie !
Hors ligne
#4 18/09/2012 17:32:31
- tsn77130
- Membre
Re : verrous sur tables
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
#5 18/09/2012 21:33:23
- gleu
- Administrateur
Re : verrous sur tables
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
#6 21/09/2012 11:56:17
- Marc Cousin
- Membre
Re : verrous sur tables
On peut aussi avoir davantage de détails sur les verrous sur enregistrements avec le contrib pgrowlocks.
Marc.
Hors ligne
Pages : 1