我该在哪里获取pldbgapi.sql文件以安装postgresql的调试器?

14

我正在尝试在Linux上安装postgresql的调试器,以便使用pgAdmin来调试我的函数。我已经设置了 postgresql.conf 文件。但是,我找不到 pldbgapi.sql

Postgresql安装在/usr/pgsql-9.2/下。目录/usr/pgsql-9.2/share/存在,但/usr/pgsql-9.2/share/contrib不存在。我应该在哪里找到该文件或下载它?

谢谢!

4个回答

6

那么,一旦你找到了那个 SQL 文件,只需将其复制粘贴到 pgAdmin 中并运行即可? - chrismarx

3
优秀的贡献,只需要:
编辑postgresql.conf文件,并将shared_preload_libraries配置选项修改为以下内容: shared_preload_libraries = '$libdir/plugin_debugger'
重新启动PostgreSQL以使新设置生效。
在您希望调试函数的数据库中运行以下命令: CREATE EXTENSION pldbgapi;
重新启动PostgreSQL以使新设置生效。 最终,您就可以进行调试了!!
我在Postgres 9.4中使用过。

这不是对问题的回答。我说得对吗?这不是一个论坛,你只应该在回答问题时写出答案,否则你必须发表评论! - limoragni
1
@limoragni:问题是:“为了安装调试器”。好的,这个答案解释了正确的方法。原始提问者似乎想要找到文件以执行其内容。接受答案的第一个评论也似乎理解他应该做同样的事情。真正的答案是他不需要定位.sql文件在哪里,也不需要手动运行它;VictorMartinez解释了完成他目的的正确步骤。更确切地说,CREATE EXTENSION pldbgapi;部分似乎是他所需的。 - Pere

3
这是随EnterpriseDB distributive一起提供的。您可以在pgFoundry上下载它。 这里是链接 另外,git仓库也可用。
git clone git://git.postgresql.org/git/pldebugger.git
cd pldebugger
export USE_PGXS=1
make
make install

编辑postgresql.conf

vim /path/to/postgresql.conf

添加:

shared_preload_libraries = 'plugin_debugger'

重启 postgres,连接数据库并调用:

CREATE EXTENSION pldbgapi;

我在PostgreSQL 9.5上使用它,运行良好。


2
在Ubuntu 16.04上,我遇到了关于make的问题:“致命错误:gssapi/gssapi.h:没有那个文件或目录”,我通过安装libkrb5-dev(sudo apt-get install libkrb5-dev)解决了这个问题。 - Reinsbrain
我遇到了以下错误信息: "plpgsql_debugger.c:12:10: fatal error: postgres.h: No such file or directory" 原因是我也安装了更高版本的postgres(13),但是我正在运行12。移除13就解决了问题。('sudo apt remove postgresql-13') - fisch

2

对于Postgres 12,您应该使用以下命令安装此软件包:

apt-get install postgresql-12-pldebugger

无需更改postgresql.conf文件。 您还应在用于调试的数据库中创建此扩展:

CREATE EXTENSION pldbgapi;

我正在使用PGAdmin 4调试PL/SQL过程。

您好,这个能在AWS RDS上运行吗?有任何想法吗? - Manish Jindal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接