- 浏览: 244056 次
最新评论
用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 18539一、PostgreSQL有3种日志: 1)pg_log(数据 ... -
pg存储过程--创建分区表
2016-01-13 15:46 01)将普通表改成按时间字段分区表 调用select fun_c ... -
pg常用自制shell脚本-tina
2016-01-13 15:30 49531)小型监控: 1.在pg库主机上部署,每5分钟执行一次,插入 ... -
postgresql 时间类型和相关函数
2016-01-13 10:41 5471今天来好好学习一下postgresql涉及时间的字段类型和一些 ... -
pg 表空间
2016-01-07 16:28 3128一、说明 在数据库运维工作中,经常会有数据目录使用率较高 ... -
pg 定期vacuum和reindex
2016-01-07 14:56 8619定期vacuum和reindex: 一 ... -
pg 序列
2016-01-06 16:58 1625一、简介 一个序列对象通常用于为行或者表生成唯一的标识符。 ... -
pg 简单备份和恢复
2016-01-06 15:53 3772pg的备份和恢复 pg_dump ... -
ERROR: invalid page header in block 27073 of relation base/21078/45300926
2016-01-06 15:12 2147突然断网,检查后通知我们UPS断电,db所在主机重启 1、连上 ... -
pg_cancel_backend()和pg_terminate_backend()
2016-01-05 17:42 3556pg_cancel_backend()和pg_terminat ... -
canceling statement due to conflict with recovery
2016-01-05 17:12 1697报错: canceling statement due to ... -
postgresql dblink 使用
2015-12-31 14:33 2047dblink的使用 pg的跨库查询工具 select dbli ... -
root用户不能使用psql或者pg_dump等pg命令
2015-12-24 14:40 7048root用户不能使用psql或者pg_dump等pg命令 [ ... -
postgresql新建库2个常见报错
2015-12-22 16:43 6290今天使用pg建库发现两个报错: ERROR: new c ... -
安装postgresql 9.1.1
2015-12-22 16:25 642安装postgresql 9.1.1 ---版本自选,步骤相同 ... -
pgbadger监控安装和使用
2015-12-21 10:01 2036pgbadger监控安装和使用 https://github ... -
oracle,postgresql,mysql一些使用上的区别记录
2015-12-16 11:38 01.限制行数: select * from ta where ... -
postgresql存储过程实例:已审核证书存入临时表
2015-12-14 16:44 657存储过程实例: 需求: 思路:建立存储过程 代码逻辑: 1 ... -
pg 函数sfa_tmp_sleep()执行越来越慢-sql分析
2015-12-11 09:48 680pg 函数sfa_tmp_sleep()执行越来越慢 ...
相关推荐
- **安装与配置**:介绍如何下载、安装和配置Syser Debugger,包括必要的系统需求和兼容性信息。 - **快速入门**:引导用户了解基本操作,如启动调试会话、设置断点等。 - **高级特性**:讲解更复杂的调试技巧,...
### zenddebugger调试指导 #### 一、简介 在PHP开发过程中,为了更...通过上述步骤,我们不仅能够成功安装配置Zend Debugger,还能够利用它进行高效的代码调试工作。这对于提升开发效率和代码质量都具有重要意义。
本文将详细介绍如何在本地环境中安装和配置Zend Debugger,以及进行简单的调试操作。 #### 二、安装准备 确保您的开发环境中已安装PHP,并且版本与Zend Debugger相匹配。例如,文中提到的是PHP 5.2.5版本,因此需要...
JavaScript Debugger version 0.9.88.1 兼容于: Thunderbird 3.0 - 3.3a1pre SeaMonkey 2.0 - 2.1b2 Firefox 3.5 - 4.0b8pre
httpdebugger是为网站开发者设计的调试工具,可以对客户端浏览器和网站服务器 之间所有的HTTP通信信息进行捕获、分析和调试。Internet 软件开发者能利用HTTP Debuger来分析他们的程序和互联网之间的通信。
Turbo Debugger是一款经典的汇编语言和低级编程调试工具,由 Borland 公司在1980年代末至1990年代初开发并广泛使用。它为程序员提供了深入理解程序执行过程的能力,特别是在 DOS(Disk Operating System)环境下,...
需要注意的是,使用MinGW版本的Qt则不需要额外安装调试器,因为它已经包含了必要的调试工具。如果开发环境中有多个版本的Qt,或者开发人员不熟悉配置环境,需要特别注意所选择的工具链与调试器的匹配问题,以避免...
3. **驱动程序安装**:压缩包中的“调试器驱动程序”是使计算机识别并能有效控制UP-Debugger所必需的。用户需要先安装这个驱动,才能确保调试器正常工作。驱动程序通常包含设备描述、通信协议以及必要的底层硬件控制...
GrowingIO Web Debugger是一款专为数据分析而设计的Chrome浏览器插件,它主要针对Web应用程序的用户行为进行跟踪和调试。在Web开发和优化过程中,这款工具能够帮助开发者更好地理解和分析用户在网站上的行为路径,...
本文将详细介绍Unity中的一款强大Shader调试工具,它甚至比Unity内置的Frame Debugger更胜一筹,极大地提高了Shader的开发效率。 首先,我们要理解Shader在Unity中的作用。Shader是计算机图形学中的一个重要概念,...
ImageDebuggerVisualizer c# 图片调试器 放在vs2005-2010的安装目录下的 /Common7/Packages/Debugger/Visualizers目录中即可
React Native Debugger是一款强大的开发工具,特别为在macOS平台上进行React和React Native应用的可视化调试而设计。它提供了丰富的功能,使开发者能够更有效地检查、调试和优化代码,尤其是在处理复杂的Redux状态...
ImageDebuggerVisualizer 放在vs2005-2010的安装目录下的 /Common7/Packages/Debugger/Visualizers目录中即可
3. **调试流程**:使用UP-Debugger时,开发者首先需要安装相应的驱动程序,确保电脑能够识别并连接到调试器。然后,通过调试工具设置目标设备的连接参数,加载待调试的固件或应用程序。在调试过程中,可以设置断点,...
当我们在代码中插入`debugger;`语句时,浏览器会在该处暂停执行,从而允许我们检查当时的运行状态。 在进行JS调试时,断点是关键。通过在可能出错的代码行或特定逻辑点设置断点,我们可以观察程序在这些点上的运行...
WT-JS.exe是JScript Debugger的可执行文件,用户可以通过运行该文件来安装和启动调试器。安装过程中可能会有相关的配置选项,如选择安装目录、创建桌面快捷方式等。安装完成后,通常会在开始菜单或桌面生成启动图标...
安装ZendDebugger的过程一般分为以下几步: 1. **下载 ZendDebugger**: 首先,你需要从官方渠道或者可靠的来源下载对应你PHP版本的ZendDebugger。确保选择与你的PHP环境兼容的版本,因为不同PHP版本可能需要不同...
Turbo Debugger是Borland公司推出的一款强大的调试器,主要用于调试由Borland开发工具,如 Turbo Pascal、Turbo C++ 和 Delphi等编译出的程序。这款调试器以其高效和用户友好的界面,在20世纪80年代末至90年代初的...
Turbo Debugger 3.0 是一款历史悠久的调试工具,由知名软件公司Borland在DOS环境下开发并发布。这款调试器对于当时的程序员来说是至关重要的,因为它提供了对汇编语言和高级语言程序的强大调试功能,使得软件开发和...