PostgreSQL 存储过程调试

PostgreSQL 存储过程调试,第1张

概述 在PG-2000DBA的培训中学到的一点是可以用pgAdmin3对存储过程进行调试。我们开发过程中用到了很多存储过程,一直苦于不能调试,只是用NOTICE打印出调试信息,非常麻烦。 开启调试,需进行以下配置: 1.编辑postgresql.conf shared_preload_libraries = '$libdir/plugins/plugin_debugger.so' 

在PG-2000DBA的培训中学到的一点是可以用pgadmin3对存储过程进行调试。我们开发过程中用到了很多存储过程,一直苦于不能调试,只是用NOTICE打印出调试信息,非常麻烦。

开启调试,需进行以下配置:

1.编辑postgresql.conf

      shared_preload_librarIEs='$libdir/plugins/plugin_deBUGger.so'  

2.重新启动数据库restart

3.执行/opt/Postgresql/9.1/share/postgresql/contrib/pldbgAPI.sql

如果使用postgres-9.1.2-1.i386.openscg.rpm这个rpm包安装的数据库,执行以上3个步骤即可开启调试。

    rpm-ivhpostgres-9.1.2-1.i386.openscg.rpm  

由于我使用以下的几个rpm包安装的postgresql9.1.2,

    rpm-ivhpostgresql91-libs-9.1.2-1PGDG.rhel5.i386.rpm    rpm-ivhpostgresql91-server-9.1.2-1PGDG.rhel5.i386.rpm    rpm-ivhpostgresql91-9.1.2-1PGDG.rhel5.i386.rpm    rpm-ivhpostgresql91-contrib-9.1.2-1PGDG.rhel5.i386.rpm  

实际配置过程中发现,我的环境中没有plugin_deBUGger.so和pldbgAPI.sql这两个文件。

直接把postgres-9.1.2-1.i386.openscg.rpm包安装好的so文件拿来使用,可以配置成功。需要plugin_deBUGger.so,targetinfo.so和pldbgAPI.so(目录可能是/opt/postgres/9.1/lib/postgresql/)这三个so文件和pldbgAPI.sql文件。

进行如下 *** 作:

1.在postgresql9.1的lib目录(如:/usr/pgsql-9.1/lib/)新建plugins文件夹,拷贝plugin_deBUGger.so至plugins目录下

2.拷贝targetinfo.so和pldbgAPI.so文件至postgresql9.1的lib目录下

3.编辑postgresql.conf

4.执行pldbgAPI.sql,

    psql-Upostgres-hlocalhost-f/home/pldbgAPI.sql  

5.重启数据库,配置完成

配置完成后,在pgadmin3中,右键存储过程会出现调试中的选项,

点击调试,设置参数的值,开始调试,

设置断点,

在pgfoundry中有一个开源的edb-deBUGger插件可以用来调试Postgresql的PLPGsql函数:http://pgfoundry.org/projects/edb-debugger/

对于postgresql9.1可能会有问题, 德哥博客中解决方法。 但我还是没有编译成功,正在查找原因。 总结

以上是内存溢出为你收集整理的PostgreSQL 存储过程调试全部内容,希望文章能够帮你解决PostgreSQL 存储过程调试所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1178729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存