Vous devez activer le débogage à deux endroits. Sur PGAdmin et sur la base de données elle-même. L'article que vous avez cité en référence l'explique très bien, mais il y a des nuances.
PGAdmin
Lors de la mise à jour de votre postgresql.conf
pour charger la bibliothèque de débogage, j'étais Exécution de PGAdmin sous Windows donc le fichier était ici :
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
Et le chemin vers le plugin_debugger.dll
était en fait
$libdir/plugin_debugger.dll
no
$libdir/plugins/plugin_debugger.dll
comme indiqué dans l'article. Ainsi, votre postgresql.conf
il faudrait une ligne comme celle-ci
shared_preload_libraries = '$libdir/plugin_debugger.dll'
En cas de doute, recherchez le fichier .dll. Si vous êtes sous Linux, le fichier que vous recherchez est le suivant plugin_debugger.so
. N'oubliez pas que la modification du postgresql.conf
nécessitera un redémarrage pour que le changement prenne effet.
Base de données PostgreSQL
En supposant que vous exécutez votre base de données PostgreSQL sur un serveur Linux cette phrase fait un excellent travail en expliquant comment télécharger les dépendances pour activer le débogage. Assurez-vous de vous exécuter en tant que Root lors de l'installation.
La partie la plus facile à oublier est l'exécution de la commande sur la base de données que vous souhaitez déboguer. Pour les nouvelles versions de PostgreSQL, tout ce que vous devez faire est ceci :
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Si cela ne renvoie pas d'erreur, vous devriez être prêt à partir.
Quelques éléments supplémentaires à noter :
- Comme mentionné ci-dessus, vous ne pouvez déboguer qu'en utilisant un compte super utilisateur.
- De leurs docs vous ne pouvez déboguer que les fonctions pl/pgsql. Donc si votre fonction dit quelque chose comme
LANGUAGE c
PGAdmin n'affiche même pas d'option de menu Debug par un clic droit lorsque vous sélectionnez la fonction. Cherchez quelque chose qui a LANGUAGE plpgsql
et le menu Debug devrait s'afficher.