用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)我的调试图
以上是内存溢出为你收集整理的让postgresql支持存储过程(函数)的调试全部内容,希望文章能够帮你解决让postgresql支持存储过程(函数)的调试所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)