如何在 PostgreSQL PG-ADMIN 中使用 Debugger?
How to use Debugger in PostgreSQL PG-ADMIN?
我曾使用过 Oracle SQL 开发人员,调试器在 Grant Debugger
之后工作正常,但我现在正在使用 PostgreSQL PG-ADMIN 并且我正在尝试使用调试功能但是调试不起作用。
是否有任何补助金或任何其他程序?
我也参考:
Debug PostgreSQL function using pgAdmin
您必须在两个地方启用调试。在 PGAdmin 和数据库本身上。您引用的那篇文章很好地解释了它,但也有一些细微差别。
PGAdmin
更新您的 postgresql.conf
文件以加载调试库时,我 running PGAdmin on Windows 所以文件在这里:
C:\Program Files\PostgreSQL.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 数据库
假设您 运行 您的 PostgreSQL 数据库位于 Linux 服务器上 this gist 在解释如何下载启用调试的依赖项方面做得很好。安装时确保你是 运行 root。
容易忽略的部分是针对您要调试的实际数据库发出命令。对于 PostgreSQL 上的较新版本,您需要做的就是:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
如果这没有 return 错误,您应该可以开始了。
一些额外的注意事项:
- 如前所述,只有当运行为超级用户帐号时才能调试
- 从 their docs 开始,您只能调试 pl/pgsql 函数。因此,如果您的函数显示
LANGUAGE c
之类的内容,当您 select 函数时,PGAdmin 甚至不会显示右键单击“调试”菜单选项。寻找具有 LANGUAGE plpgsql
的内容,调试菜单应该会显示。
我曾使用过 Oracle SQL 开发人员,调试器在 Grant Debugger
之后工作正常,但我现在正在使用 PostgreSQL PG-ADMIN 并且我正在尝试使用调试功能但是调试不起作用。
是否有任何补助金或任何其他程序?
我也参考:
Debug PostgreSQL function using pgAdmin
您必须在两个地方启用调试。在 PGAdmin 和数据库本身上。您引用的那篇文章很好地解释了它,但也有一些细微差别。
PGAdmin
更新您的 postgresql.conf
文件以加载调试库时,我 running PGAdmin on Windows 所以文件在这里:
C:\Program Files\PostgreSQL.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 数据库
假设您 运行 您的 PostgreSQL 数据库位于 Linux 服务器上 this gist 在解释如何下载启用调试的依赖项方面做得很好。安装时确保你是 运行 root。
容易忽略的部分是针对您要调试的实际数据库发出命令。对于 PostgreSQL 上的较新版本,您需要做的就是:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
如果这没有 return 错误,您应该可以开始了。
一些额外的注意事项:
- 如前所述,只有当运行为超级用户帐号时才能调试
- 从 their docs 开始,您只能调试 pl/pgsql 函数。因此,如果您的函数显示
LANGUAGE c
之类的内容,当您 select 函数时,PGAdmin 甚至不会显示右键单击“调试”菜单选项。寻找具有LANGUAGE plpgsql
的内容,调试菜单应该会显示。