如何在PostgreSQL PG-ADMIN中使用Debugger?

时间:2017-03-29 18:19:50

标签: sql postgresql pgadmin

我曾经使用过Oracle SQL开发人员调试器在Grant Debugger之后工作正常但我现在正在使用PostgreSQL PG-ADMIN而我正在尝试使用调试功能但是调试不起作用。

是否有任何补助金或任何其他程序?

debugImage

我也提到:

Debug PostgreSQL function using pgAdmin

1 个答案:

答案 0 :(得分:0)

您必须在两个地方启用调试。在PGAdmin和数据库本身。你引用的那篇文章做了很好的解释,但有一些细微差别。

<强> pgAdmin的

更新postgresql.conf文件以加载调试库时,我是running PGAdmin on Windows所以文件在这里:

C:\Program Files\PostgreSQL\9.4\data\postgresql.conf

plugin_debugger.dll的路径实际上是

$libdir/plugin_debugger.dll

$libdir/plugins/plugin_debugger.dll

如文章中所述。所以你的postgresql.conf需要这样的一行

shared_preload_libraries = '$libdir/plugin_debugger.dll'

如果您有疑问,请搜索实际的.dll。如果您使用的是Linux,那么您要查找的文件是plugin_debugger.so。不要忘记更改postgresql.conf文件需要重新启动才能使更改生效。

PostgreSQL数据库

假设您在Linux服务器上运行PostgreSQL数据库this gist在解释如何下载启用调试的依赖项方面做得非常出色。确保在安装时以root用户身份运行。

容易遗漏的部分是针对您要调试的实际数据库发出命令。对于PostgreSQL上的新版本,您需要做的就是:

CREATE EXTENSION IF NOT EXISTS pldbgapi;

如果这不会返回错误,那么你应该好好去。

还有一些值得注意的事项:

  • 如上所述,您只能在以超级用户帐户身份运行时进行调试
  • their docs开始,您只能调试pl / pgsql函数。因此,如果您的函数显示类似LANGUAGE c的内容,则选择该函数时,PGAdmin甚至不会显示右键单击“调试”菜单选项。查找具有LANGUAGE plpgsql且调试菜单应显示的内容。