我在哪里可以获得 pldbgapi.sql 以便为 postgresql 安装调试器?

Posted

技术标签:

【中文标题】我在哪里可以获得 pldbgapi.sql 以便为 postgresql 安装调试器?【英文标题】:Where can I get pldbgapi.sql in order to install the debugger for postgresql? 【发布时间】:2013-08-30 14:09:56 【问题描述】:

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

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

谢谢!

【问题讨论】:

【参考方案1】:

我发现如果我运行这个文件的内容它会起作用

share\extension\pldbgapi--1.0.sql 

还有这个扩展的自述文件提到了不同的安装过程,我没有尝试过

http://git.postgresql.org/gitweb/?p=pldebugger.git;a=blob_plain;f=README.pldebugger;hb=54d993c04809da7cda79013a55b679a615c7dce1

【讨论】:

所以一旦你找到那个 sql 文件,只需复制粘贴到 pgadmin 并运行?【参考方案2】:

优秀的港口,只有:

编辑您的 postgresql.conf 文件,并修改 shared_preload_libraries 配置 看起来像的选项:

shared_preload_libraries = '$libdir/plugin_debugger'

重启 PostgreSQL 以使新设置生效。

在您希望的一个或多个数据库中运行以下命令 调试功能:

创建扩展 pldbgapi;

重新启动 PostgreSQL 以使新设置生效。 终于可以调试了!!

我在 Postgres 9.4 中使用过

【讨论】:

这不是问题的答案。我对吗?这不是论坛,只有在回答问题的时候才写答案,否则必须发表评论! @limoragni:问题说:“为了安装调试器”。好吧,这个答案解释了正确的方法。最初的询问者似乎想要找到该文件以执行其内容。接受的答案中的第一条评论似乎也明白他应该做同样的事情。真正的答案是他不需要定位.sql 文件所在的位置,也不需要手动运行它; VictorMartinez 解释了实现他的目的的正确步骤。更准确地说,CREATE EXTENSION pldbgapi; 部分似乎正是他所需要的。【参考方案3】:

这包含在 EnterpriseDB 分发包中。您可以在 pgFoundry 上下载它。 here is a link

还有 git repo 可用。

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,连接db并调用:

CREATE EXTENSION pldbgapi;

我在 postgreql 9.5 上使用它,效果很好。

【讨论】:

在 ubuntu 16.04 上我遇到了 make 问题:“致命错误:gssapi/gssapi.h:没有这样的文件或目录”,我通过安装 libkrb5-dev ( sudo apt-get install libkrb5-dev ) 我收到以下错误消息:“plpgsql_debugger.c:12:10: fatal error: postgres.h: No such file or directory” 原因是,我还安装了更高版本的 postgres (13) 但正在运行 12。删除 13 确实解决了这个问题。 ('sudo apt remove postgresql-13')【参考方案4】:

对于 postgres 12,你应该使用这个逗号安装这个包:

apt-get install postgresql-12-pldebugger

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

CREATE EXTENSION pldbgapi;

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

【讨论】:

以上是关于我在哪里可以获得 pldbgapi.sql 以便为 postgresql 安装调试器?的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里可以获得 MSYS/MinGW 的 fmt 二进制文件?

我在哪里可以获得 BERT 的预训练词嵌入?

我在哪里可以获得 iPhone 2.0 SDK?

如果我没有域,我在哪里可以获得公共 SSL 证书?

Auth0 - 我在哪里可以获得 JWT 签名密钥

我在哪里可以获得用于 NHibernate 的 Linq?