`

PostgreSQL 存储过程调试

阅读更多

 

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

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

1.编辑postgresql.conf

  1. 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个步骤即可开启调试。

  1. rpm -ivh postgres-9.1.2-1.i386.openscg.rpm 

 

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

  1. rpm -ivh postgresql91-libs-9.1.2-1PGDG.rhel5.i386.rpm   
  2. rpm -ivh postgresql91-server-9.1.2-1PGDG.rhel5.i386.rpm   
  3. rpm -ivh postgresql91-9.1.2-1PGDG.rhel5.i386.rpm    
  4. rpm -ivh postgresql91-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,

  1. psql -U postgres -h localhost -f /home/pldbgapi.sql 

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

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

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

设置断点,

 

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

对于postgreSQL9.1可能会有问题,德哥博客中解决方法

from : http://blog.csdn.net/binyao02123202/article/details/7746035
分享到:
评论

相关推荐

    关于PostGreSQL中的存储过程

    关于PostGreSQL中的存储过程 PostGreSQL是一个开源的数据库

    让postgresql支持存储过程(函数)的调试.doc

    让postgresql支持存储过程(函数)的调试.doc 还有edb-debugger 工具包

    Postgresql存储过程.docx

    数据库存储过程:包括控制if,循环while/for/loop的实现

    Mybatis调用PostgreSQL存储过程实现数组入参传递

    项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于PostgreSQL自带数组类型,所以有一个自定义函数的入参就是一个int数组,形如: 代码如下:CREATE OR REPLACE FUNCTION “public”.”func_...

    PostgreSQL开发工具V3.0.zip

    用于自动产生C#对postgreSQL开发时用到的存储过程和select 脚本

    炼数成金深度学习PostgreSQL.txt

    第十一课Postgresql引擎开发深入:执行优化器实现分析,增加兼容其它数据库存储过程功能。第十二课Postgresql引擎开发深入:数据库数据字典实现分析,扩展系统性能动态视图。第十三课发布数据库引擎:扩展并运行...

    democmdln:SpringBoot命令行CSV PostgreSQL

    程序正在写入控制台进行调试我在本地主机上运行一个postgreSQL服务器。 我创建了一个数据库mydb。 用户danielb被创建为超级用户。 PostgreSQL表用于存储和汇总数据。 create table balances(balances_id serial,...

    PostgreSQL 如何获取当前日期时间及注意事项

    在开发数据库应用或者调试代码时,经常需要获取系统的当前日期和时间,我们来看一下 PostgreSQL 中提供的相关函数。 当前日期 CURRENT_DATE CURRENT_DATE 函数用于获取数据库服务器的当前日期: postgres=# ...

    Navicat Premium操作手册.7z

    3Oracle 外部表访问参数59Oracle 索引组织表59Oracle 索引组织表选项59Oracle 视图60Oracle 函数或过程61Oracle 数据库链接62Oracle 索引63Oracle Java65Oracle 实体化视图66Oracle 实体化视图日志68Oracle 包69...

    Navicat Premium 11.2(解压码imac.hk).dmg

    结合了其他 Navicat 成员的功能,Navicat Premium 支持大部份在现今数据库管理系统中使用的功能,包括存储过程、事件、触发器、函数、视图等。其他功能包括 Navicat Cloud、数据模型工具、导入向导、导出向导、调试...

    DBVisualizer9.0.2的64位破解版_Part02

    对于使用Oracle的同学来说,该工具可能不是最好用的工具,但是对于使用DB2的同学来说还是很好的,唯一的缺点是不能调试存储过程,功能略逊于Toad for DB2,但是操作方便性很多地方比Toad强,同时目前Toad还没有支持...

    PostgreSQL:对已经存在的 postgres-master 实现所做更改的描述

    PostgreSQL 这个存储库详细描述了对 postgres-master 存储库所做的更改以及我们试图强调的一些其他概念。 有关每个主题的完整详细信息,请参阅 Read-ME 文件夹。 Postgres_Installation:关于Postgres 以及在...

    ansible-ycsb

    ansible-ycsb Ansible-ycsb是为创建的一个...postgresql_from_deb-从ubuntu存储库安装PostgreSQL postgresql_from_source-直接从源代码安装PostgreSQL(master分支) 日志-将MongoDB的写关注级别设置为journaled js

    Xpath:一个基于python的跨平台工具,可自动检测和利用基于错误的注入安全漏洞的过程

    Xpath 一个基于python的跨平台工具,可自动检测和利用基于错误的注入安全漏洞的过程。要求的Python 3 Python pip3 Python模块requests Python模块colorama Python模块chardet模块安装pip install -r requirements....

    C++异步网络IO库,仿java的mina实现

    motcp socket存储转发功能,可以将通信的包以十六进制的格式打印出来,调试网络程序的好帮手 echoserv echo 服务器,把客户端的数据不更改地返回。 编译,提供两种编译模式,windows的cygwin环境,还有linux环境...

    SQL_SERVER应用与开发范例宝典_12357672.part2

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL_SERVER应用与开发范例宝典_12357672.part1

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL应用开发范例宝典:SQL应用开发范例宝典.iso (源码光盘)

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

Global site tag (gtag.js) - Google Analytics