pg安装debugger调试function

用PG做了些项目,积累了些经验,其中之一就是在PG下调试function。 
可以设置break point,单步调试,就象在eclipse里面调试java code,一个很复杂的function通过这种方式很快就找出问题,大大提高开发效率。(注:要求pg8.2及以上版本) 

因为PG默认是不支持function调试的,要在PG里调试function得安装enterpriseDB提供的pg插件edb-debugger 

实际操作: 
1、安装git 
yum install git 
2、克隆得到pldebugger 
git clone git://git.postgresql.org/git/pldebugger.git 

备注:网上很多说的下载地址都是下面这个,但是安装会报错,建议不要采用 
地址:http://pgfoundry.org/projects/edb-debugger/,目前最新版本为0.93 
-rw-r--r--   1 root     root     66319 Sep  9 16:26 edb-debugger-0.93.tgz   --版本太老了,安装不成功 
drwxr-xr-x   2 postgres games     4096 Sep 26  2008 pldebugger 

3、[root@localhost contrib]# pwd 
/postgresql-9.1.1/contrib 
drwxr-xr-x 3 root root 4096 Sep  9 16:52 pldebugger 

4、安装 
cd pldebugger 
make 
make install 

5、修改数据库配置文件 : 
[postgres@localhost postgresql]$ pwd 
/pg/lib/postgresql 
[postgres@localhost postgresql]$ ll plugin_debugger.so 
-rwxr-xr-x 1 root root 62516 Sep  9 08:56 plugin_debugger.so 

vi $PGDATA/postgresql.conf 
shared_preload_libraries = '/pg/lib/postgresql/plugin_debugger.so' 

6、重启pg服务 
[postgres@localhost data]$ pg_ctl -D /pg/data start 
server starting 
[postgres@localhost data]$ 2014-09-09 09:10:24 UTC--- :LOG:  loaded library "/pg/lib/postgresql/plugin_debugger.so" 

7、在要进行调试的数据库里执行pldbgapi.sql文件,这个文件在你pg安装目录的share/postgresql/下面 
[postgres@localhost extension]$ pwd 
/pg/share/postgresql/extension 
-rw-r--r-- 1 root     root     7457 Sep  9 08:56 pldbgapi--1.0.sql 
-rw-r--r-- 1 root     root      181 Sep  9 08:56 pldbgapi.control 
-rw-r--r-- 1 root     root     2258 Sep  9 08:56 pldbgapi--unpackaged--1.0.sql 

[postgres@localhost extension]$ psql tina postgres -f /pg/share/postgresql/extension/pldbgapi--1.0.sql 
Installing pldebugger as unpackaged objects. If you are using PostgreSQL 
version 9.1 or above, use "CREATE EXTENSION pldbgapi" instead. 
CREATE TYPE 
CREATE TYPE 
CREATE TYPE 
CREATE TYPE 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE FUNCTION 
CREATE TYPE 
DO 

8、调试pg的function 
1)新建一个测试函数: 
CREATE OR REPLACE FUNCTION f_test() 
  RETURNS varchar AS 
$BODY$ 
  begin 
    return 'i am tina'; 
    end; 
$BODY$ 
LANGUAGE plpgsql; 

2)打开pgadmin3,打开你要调试的数据库,在你要调试的function上右击,这时你会发现多了一项"调试中", 
占击子项中的"调试"就可对function进行调试了。 

时间: 2024-08-02 11:39:43

pg安装debugger调试function的相关文章

如何在Zend Studio中使用Zend Debugger调试PHP

在介绍完PHP5环境下Zend Debugger安装配置教程后,今天来说说如何在Zend Studio中使用Zend Debugger调试PHP程序,使用Zend Debugger还是比较方便,我使用的是Zend Studio7,Zend Studio7的Debug配置界面与早期的Zend Studio还是略有不同. 在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,如果对Zend Studio的使用比较陌生,推荐先学习PHP开发工具Z

(albertyi原创)Eclipse 安装,调试快速入门

快速入门|原创                                (albertyi原创)Eclipse 安装,调试快速入门 最近一直用UltraEdit和gmake来做java程序,感觉确实很轻省,但是常常怀念VC强大的程序编辑,调试功能... 遂决定找一个强大的IDE环境,经过分析网上N个帖子,我的目标逐渐锁定了Eclipse; 安装非常简单,从网上下载了最新的Eclipse3.1.0以及最新的j2sdk1.4.2. 一.安装步骤如下: 1.卸载机器上老版本的JDK 2.安装最新

【原创】Erlang 之 debugger 调试简介

Erlang 提供了一种图形化的源码级别调试器 -- debugger.在一些情况下,可以用于对代码进行单步跟踪调试.下面举例说明如何使用这个工具.  首先需要明确的是,若想要在调试器中启用某个模块,必须先让调试器 解释 该模块.调试器同时需要 .erl 源文件(用于显示源码)和 .beam 字节码文件(需要带有调试信息). 编译带调试信息的 .beam 文件,要求在编译 .erl 文件时使用 +debug_info 标志.例如  ? 1 erlc +debug_info -o ebin src

软件开发-安装的调试器不能被识别出来

问题描述 安装的调试器不能被识别出来 开发-安装的调试器不能被识别出来-调试器开发"> 解决方案

Nginx基础知识、安装及调试

编写此技术指南在于推广普及NGINX在国内的使用,更方便的帮助大家了解和掌握NGINX的一些使用技巧.本指南很多技巧来自于网络和工作中或网络上朋友们问我的问题.在此对网络上愿意分享的朋友们表示感谢和致意!欢迎大家和我一起丰富本技术指南提出更好的建议! Nginx http://www.aliyun.com/zixun/aggregation/22929.html">基础知识 1.简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,

js 加debugger调试提示无可用来源是怎么回事(C# MVC)

问题描述 js 加debugger调试提示无可用来源是怎么回事(C# MVC) 解决方案 用IE F12的js debugger能调试么?IE是否禁用了调试. 解决方案二: 动态加载的js会有这种现象.

net 下安装、调试的常见问题与错误

错误|问题 Q:新建项目时出错:Visual Studio .NET 已检测到指定Web服务器运行的不是ASP.NET 1.1版.您将无法运行ASP.NET Web应用程序或服务.A: 对于这个错误有很多可能的原因,您可以参考下面几篇KB和文章的解决方案: "prb: "The specified Web server is not running ASP.NET version 1.1" error message when you create an ASP.NET 1.

Eclipse上的Tomcat插件安装和调试

Visual Age for Java是IBM所开发的Java IDE开发环境.早在几年前,就已经占了Java开发平台的半壁江山,而近来已有好长时间没出新版本了,原因在于IBM全心投入了Eclipse项目的研究,好多Java开发者肯定也注意到了这一点.Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到(官方网站在http://www.eclipse.org/)

Ubuntu中安装Xdebug调试跟踪程序过程

Xdebug是Ubuntu下调试跟踪php程序的瑞士军刀,在php开发过程中必备的工具,昨在Ubuntu下安装了一下,记录下安装过程. 首先是要有php环境 我是使用利用pecl下载安装,这样省去了手动编译的麻烦 如果没有pecl就安装下php-pear,但是pecl下载的还是源代码,下载完后会自动编译,期间会用到一个phpize的东东,如果没有phpize就安装下php5-dev 本人的整个过程如下- sudo apt-get install php-pear sudo apt-get ins