免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1715 | 回复: 0

让postgresql支持存储过程(函数)的调试 [复制链接]

论坛徽章:
0
发表于 2011-12-20 09:46 |显示全部楼层
本文系转载他人文章
用PG做了些项目,积累了些经验,其中之一就是在PG下调试function。
    可以设置break point,单步调试,就象在eclipse里面调试java code,一个很复杂的function通过这种方式很快就找出问题,大大提高开发效率。(注:要求pg8.2及以上版本)

    PG默认是不支持function调试的,要在PG里调试function得安装enterpriseDB提供的pg插件edb-debugger(PL/pgSQL Debugger. Currently requires PostgreSQL 8.2 or higher (or EnterpriseDB 8.1.4 or higher). The PL/pgSQL debugger lets you step through PL/pgSQL code, set and clear breakpoints, view and modify variables, and walk through the call stack)
   
安装
edb-debugger:
1)源码方式安装pg,(这里不作详细说明,请参照我的另一篇文章)
2)下载
edb-debugger
    地址:http://pgfoundry.org/projects/edb-debugger/,目前最新版本为0.92
3)解压
edb-debugger到pg的源码目录下的contrib下面(我的目录:/home/lyb/postgresql-8.3.3/contrib/pldebugger),进入pldebugger目录。
4)make
5)make install
好,现在edb-debugger已经安装完成

配置pg
1)更改数据库目录下的postgresql.conf,加入如下红色语句
#shared_preload_libraries = '' # (change requires restart)(这个系统默认下是注释掉的,在这句下面加入下面语句)
shared_preload_libraries = '$libdir/plugins/plugin_debugger'(这是新加入的)
2)重新启动pg
3)在要进行调试的数据库里执行pldbgapi.sql文件,这个文件在你pg安装目录的share/postgresql/contrib/下面

调试pg的function
1)打开pgadmin3,打开你要调试的数据库,在你要调试的function上右击,这时你会发现多了一项Debugging,占击子项中的debug就可对function进行调试了。
2)我的调试图
.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP