Comment déboguer les procédures stockées postgresql?

Je me rends compte qu'il n'y a rien de similaire à SQL Server Management Studio, donc je suis mentalement prêt à utiliser le bon vieux débogage printf.

La seule question est de savoir comment faire "printf" à partir d'une procédure stockée?

21
demandé sur mark 2013-11-25 14:56:46

3 réponses

Pour "imprimer" un message, vous pouvez utiliser raise notice depuis une fonction PL / pgSQL:
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

Notez que le client doit avoir défini la valeur de "client_min_messages" au niveau approprié pour recevoir le "notice".

PgAdmin a un débogueur pour les fonctions: http://www.pgadmin.org/docs/1.18/debugger.html

(mais je ne l'ai jamais utilisé car je n'utilise pas pgAdmin).

24
répondu a_horse_with_no_name 2013-11-25 11:48:02

On dirait que vous recherchez une capacité de débogage réelle. PostgreSQL a effectivement introduit cette fonctionnalité en commençant par PostgreSQL 8.3.

Débogueur

C'est fantastique et rend totalement PostgreSQL à la hauteur de son slogan "La base de données open source la plus avancée au monde". C'est un peu compliqué de courir mais ceux-ci links pourrait vous aider à démarrer. Une fois activé il vous permet de définir des points d'arrêt ou de définir des entrées & évaluer les fonctions tout au long d'un menu pratique clic droit dans PGAdmin. Menu du clic droit

8
répondu Joel B 2016-01-21 22:10:20

Avec les commandes RAISE, Il y a aussi quelques outils tiers dont j'ai entendu parler, bien que je ne les aie jamais utilisés.

5
répondu bma 2013-11-25 15:36:12