- 浏览: 238378 次
最新评论
用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进行调试了。
可以设置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进行调试了。
发表评论
-
pg 锁
2016-01-14 16:26 0pg 锁 ... -
postgresql 的三类日志
2016-01-14 15:59 18387一、PostgreSQL有3种日志: 1)pg_log(数据 ... -
pg存储过程--创建分区表
2016-01-13 15:46 01)将普通表改成按时间字段分区表 调用select fun_c ... -
pg常用自制shell脚本-tina
2016-01-13 15:30 48281)小型监控: 1.在pg库主机上部署,每5分钟执行一次,插入 ... -
postgresql 时间类型和相关函数
2016-01-13 10:41 5318今天来好好学习一下postgresql涉及时间的字段类型和一些 ... -
pg 表空间
2016-01-07 16:28 3077一、说明 在数据库运维工作中,经常会有数据目录使用率较高 ... -
pg 定期vacuum和reindex
2016-01-07 14:56 8554定期vacuum和reindex: 一 ... -
pg 序列
2016-01-06 16:58 1570一、简介 一个序列对象通常用于为行或者表生成唯一的标识符。 ... -
pg 简单备份和恢复
2016-01-06 15:53 3716pg的备份和恢复 pg_dump ... -
ERROR: invalid page header in block 27073 of relation base/21078/45300926
2016-01-06 15:12 2107突然断网,检查后通知我们UPS断电,db所在主机重启 1、连上 ... -
pg_cancel_backend()和pg_terminate_backend()
2016-01-05 17:42 3509pg_cancel_backend()和pg_terminat ... -
canceling statement due to conflict with recovery
2016-01-05 17:12 1614报错: canceling statement due to ... -
postgresql dblink 使用
2015-12-31 14:33 2000dblink的使用 pg的跨库查询工具 select dbli ... -
root用户不能使用psql或者pg_dump等pg命令
2015-12-24 14:40 6942root用户不能使用psql或者pg_dump等pg命令 [ ... -
postgresql新建库2个常见报错
2015-12-22 16:43 6139今天使用pg建库发现两个报错: ERROR: new c ... -
安装postgresql 9.1.1
2015-12-22 16:25 604安装postgresql 9.1.1 ---版本自选,步骤相同 ... -
pgbadger监控安装和使用
2015-12-21 10:01 1993pgbadger监控安装和使用 https://github ... -
oracle,postgresql,mysql一些使用上的区别记录
2015-12-16 11:38 01.限制行数: select * from ta where ... -
postgresql存储过程实例:已审核证书存入临时表
2015-12-14 16:44 617存储过程实例: 需求: 思路:建立存储过程 代码逻辑: 1 ... -
pg 函数sfa_tmp_sleep()执行越来越慢-sql分析
2015-12-11 09:48 639pg 函数sfa_tmp_sleep()执行越来越慢 ...
相关推荐
Syser Debugger 调试器帮助文档汉化
PHP调试环境搭建-Zend Debugger安装 PHP调试环境搭建-Zend Debugger安装
指导如何在zend 里安装 debugger,还有调试步骤指导
JavaScript Debugger version 0.9.88.1 兼容于: Thunderbird 3.0 - 3.3a1pre SeaMonkey 2.0 - 2.1b2 Firefox 3.5 - 4.0b8pre
Turbo Debugger汇编调试工具
httpdebugger是为网站开发者设计的调试工具,可以对客户端浏览器和网站服务器 之间所有的HTTP通信信息进行捕获、分析和调试。Internet 软件开发者能利用HTTP Debuger来分析他们的程序和互联网之间的通信。
spy-debugger原理是集成了weinre,简化了weinre需要给每个调试的页面添加js代码。spy-debugger原理是拦截所有html页面请求注入weinre所需要的js代码。让页面调试更加方便。 标签:...
javascript脚本调试工具 Script Debugger 集成在IE中的一款很原始的调试工具,具备基本的调试功能,除了可以用于调试客户端脚本,还能调试在Microsoft IIS上运行的服务器端脚本。该工具命令窗口是基于文本的,针对...
Turbo Debugger borland公司的调试器专门调试borland开发工具编写的程序
growingio web端调试插件、debugger、工具 GrowingIO Web Debugger 是基于Chrome浏览器的一个插件
串口调试,Serial Port debugger,C#
ImageDebuggerVisualizer 放在vs2005-2010的安装目录下的 /Common7/Packages/Debugger/Visualizers目录中即可
ImageDebuggerVisualizer c# 图片调试器 放在vs2005-2010的安装目录下的 /Common7/Packages/Debugger/Visualizers目录中即可
mac端可视化调试react或者reactnative工具,可以调试redux应用状态
收集整理的ZendDebugger安装及教程,安装方法都有很详细说明,包学包会。 ZendDebugger 是调试php的利器,是Zend Studio的得力助手。
解决qt调试时Unknown debugger type No Engine的错误,
Unity一键式Shader调试工具,远强大于Frame Debugger,辅助shader的快速开发。
immunity调试
9-debugger (调试器)