让postgresql支持存储过程(函数)的调试
2015-11-03 09:08
351 查看
原帖地址:http://blog.chinaunix.net/uid-280772-id-2135418.html
用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 (orEnterpriseDB 8.1.4
or higher).The PL/pgSQL debugger lets you step through PL/pgSQL code, set andclear breakpoints, view and modify variables, and walk through the callstack)
安装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)我的调试图
用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 (orEnterpriseDB 8.1.4
or higher).The PL/pgSQL debugger lets you step through PL/pgSQL code, set andclear breakpoints, view and modify variables, and walk through the callstack)
安装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)我的调试图
相关文章推荐
- mysql之my.cnf
- oracle定时任务
- 解决Mysql "is marked as crashed and should be repaired"的故障
- HQL和SQL的区别
- Oracle索引(转)
- java JDBC编程——从属性文件读取信息,并创建到数据库的连接
- PHP优化02 Memcache缓存加速部署
- 安装mysql 5.7.9绿色版遇到的问题记录
- Oracle学习路线图
- Linux中安装MongoDB(2015-11-03 00:51:24)
- Redhat Enterprise Linux 6 (CentOS 6) 用源码包方式安装MariaDB数据库
- 转: Oracle中的物化视图
- 关机后数据库启动错误
- 转: ORACLE索引介绍和使用
- Oracle数据库性能调优
- MySQL存储过程详解 mysql 存储过程
- SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
- SQL Server将一列的多行内容拼接成一行的实现方法
- Mysql命令大全(详细篇)
- sqlalchemy查询结果生成json的正确程序