如何调试postgresql存储过程?

mar*_*ark 31 postgresql debugging stored-procedures

我意识到没有类似于SQL Server Management Studio,所以我精神上准备好使用旧的printf调试.

唯一的问题是如何从存储过程中执行"printf"?

a_h*_*ame 33

要"打印"消息,您可以raise notice在PL/pgSQL函数中使用:http:
//www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

请注意,客户端必须将"client_min_messages"的值设置为适当的级别才能接收"通知".

pgAdmin有一个函数调试器:http://www.pgadmin.org/docs/1.18/debugger.html

(但我从未使用它,因为我不使用pgAdmin).


Joe*_*l B 12

听起来你正在寻找实际的调试功能.PostgreSQL实际上从PostgreSQL 8.3开始引入了这个功能.

调试器

这太棒了,完全让PostgreSQL秉承它的标语"世界上最先进的开源数据库".运行起来很麻烦,但这些 链接可能会帮助您入门.启用后,它允许您通过PGAdmin中方便的右键单击菜单设置断点或定义输入和评估功能. 右键菜单


bma*_*bma 5

除了可靠的ol' RAISE命令之外,还有一些我听说过的第三方工具,尽管我从未使用它们.