文档章节

postgresql函数调试工具pldebugger安装过程

Splace
 Splace
发布于 2016/03/21 19:30
字数 690
阅读 1290
收藏 2

1.下载pldebugger安装包:

http://git.postgresql.org/gitweb/  所有第三方插件都可在此下载,此处下载pldebugger.git

2.拷贝,安装
将下载好的压缩包(pldebugger-14c6caf.tar.gz)拷贝到postgresql安装目录contrib。
解压:

tar zxvf pldebugger-14c6caf.tar.gz

查看reademe文件,看安装要求:

Installation
------------
- Copy this directory to contrib/ in your PostgreSQL source tree.
- Run 'make; make install'
- Edit your postgresql.conf file, and modify the shared_preload_libraries config
  option to look like:
  shared_preload_libraries = '$libdir/plugin_debugger'
- Restart PostgreSQL for the new setting to take effect.
- Run the following command in the database or databases that you wish to
  debug functions in:
  CREATE EXTENSION pldbgapi;
  (on server versions older than 9.1, you must instead run the pldbgapi--1.0.sql
  script directly using psql).

从以上可以看到,只需make&make install,然后进行配置等。按以上要求具体安装如下:

[root@localhost pldebugger-14c6caf]# make
gcc -Wall -Wmissing-prototypes 
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing 
-fwrapv -O2 -fpic -I../../src/pl/plpgsql/src -I. -I. -I../../src/include
 -D_GNU_SOURCE   -c -o plpgsql_debugger.o plpgsql_debugger.c
gcc
 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv -O2 -fpic -I. -I. 
-I../../src/include -D_GNU_SOURCE   -c -o plugin_debugger.o 
plugin_debugger.c
gcc -Wall 
-Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement 
-Wendif-labels -Wmissing-format-attribute -Wformat-security 
-fno-strict-aliasing -fwrapv -O2 -fpic -I. -I. -I../../src/include 
-D_GNU_SOURCE   -c -o dbgcomm.o dbgcomm.c
gcc
 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv -O2 -fpic -I. -I. 
-I../../src/include -D_GNU_SOURCE   -c -o pldbgapi.o pldbgapi.c
gcc
 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv -O2 -fpic -shared -o 
plugin_debugger.so plpgsql_debugger.o plugin_debugger.o dbgcomm.o 
pldbgapi.o -L../../src/port -L../../src/common -Wl,--as-needed 
-Wl,-rpath,'/usr/local/pgsql9.5.0/lib',--enable-new-dtags
[root@localhost pldebugger-14c6caf]# make install
/bin/mkdir -p '/usr/local/pgsql9.5.0/lib'
/bin/mkdir -p '/usr/local/pgsql9.5.0/share/extension'
/bin/mkdir -p '/usr/local/pgsql9.5.0/share/extension'
/bin/mkdir -p '/usr/local/pgsql9.5.0/share/doc//extension'
/usr/bin/install -c -m 755  plugin_debugger.so '/usr/local/pgsql9.5.0/lib/plugin_debugger.so'
/usr/bin/install -c -m 644 ./pldbgapi.control '/usr/local/pgsql9.5.0/share/extension/'
/usr/bin/install -c -m 644 ./pldbgapi--1.0.sql ./pldbgapi--unpackaged--1.0.sql  '/usr/local/pgsql9.5.0/share/extension/'
/usr/bin/install -c -m 644 ./README.pldebugger '/usr/local/pgsql9.5.0/share/doc//extension/'

安装完成以后该插件被安装在postgresql目录的Lib文件中,查看lib目录可以看到:

-bash-4.1$ ll |grep debug
-rwxr-xr-x. 1 root root  62025 Mar 10 09:09 plugin_debugger.so

配置参数:

按以上说明设置以下:

shared_preload_libraries = '$libdir/plugin_debugger'

*此处注意在配置参数shared_preload_libraries = '$libdir/plugin_debugger'时,如果该参数有多个,只需加逗号即可,如

shared_preload_libraries = 'xxxxxx,$libdir/plugin_debugger'

* shared_preload_libraries 的路径实际便是postgres的安装路径,在make install完毕后会提示,比如上面的make install安装提示:/usr/bin/install -c -m 755  plugin_debugger.so '/usr/local/pgsql9.5.0/lib/plugin_debugger.so' 后面的路径即为 shared_preload_libraries,所有将 shared_preload_libraries =‘/usr/local/...‘也是可以的。

重启数据库,到需要进行函数调试数据库中执行CREATE EXTENSION pldbgapi;
注意:每次换一个库时,都要重新执行。


经过以上过程,打开pgadmin,选择某个函数可以看到如下:

出现了调试功能,安装成功。

© 著作权归作者所有

Splace
粉丝 2
博文 8
码字总数 11335
作品 0
杭州
私信 提问
企业级PostgreSQL扩展

我们一直在讨论构建企业级 PostgreSQL的相关设置,例如安全、备份策略、高可用,以及不同规模 PostgreSQL。在本文中,我们将回顾一些最流行的开源 PostgreSQL扩展,这些扩展的一些功能用于满...

飞象数据
2018/12/13
0
0
在Ubuntu 12.04中使用最新的Eclipse版本调试跟踪最新的PostgreSQL源代码

1 写在最前 大概三周前就已经想把这篇文章发出来了,但是苦于各种杂事,今天终于有空来整理一下了。进入正题前,我想说的是,目前网上的很多关于PostgreSQL(以下简称PG)源代码分析环境搭建...

鄂世嘉
2013/12/29
426
2
PostgreSQL入门篇学习笔记(一)

PostgreSQL最强大的开源数据库,以前一直以为是mysql。可谓无知者,无畏也。井底之娃,一个八线城市的python运维dba的悲哀。 以下把PostgreSQL简称为pg。 1,pg是唯一能做到数据零丢失的开源...

落叶刀
2015/11/21
307
0
在CentOS上编译安装PostgreSQL

第一步:准备阶段 获取必需软件包: CentOS中查看是否安装了某个软件的命令:rpm -qa | grep 软件名。 which命令可查看某个软件的安装路径。 使用 yum install 包名 来安装软件包。 1.GNU ma...

恒者
2014/01/01
7K
3
PostgreSQL安装详细步骤(windows)

PostgreSQL安装: 一、windows下安装过程 安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下: 1、开始安装: 2、选择程序安装目录: 注:安装 PostgreSQL 的分...

引鸩怼孑
2015/04/21
387
1

没有更多内容

加载失败,请刷新页面

加载更多

PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
9分钟前
2
0
wildfly(JBoss AS)应用服务器快速入门

什么是wildfly JBoss AS 从8版本起名为wildfly。Wildfly是一个开源的基于JavaEE的轻量级应用服务器。可以在任何商业应用中免费使用。 WildFly是一个灵活的、轻量的、强大管理能力的应用程序服...

程序新视界
33分钟前
2
0
Java集合类常见面试知识点总结

Java集合类学习总结 这篇总结是基于之前博客内容的一个整理和回顾。 这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java核心技术 https://blog.csdn.net/column/details/21930...

Java技术江湖
36分钟前
6
0
怎么用for循环打出爱心

先上效果图: 这是用*组成的爱心,下面讲讲思路: 首先这个图形可以拆分成三部分:第一部分是上面三行的两个梯形,第二部分是中间三行的长方形,第三部分是最下面的倒三角形。 其实图形拆分好...

INEVITABLE
42分钟前
4
0
用HttpUrlConnection伪造成HttpClient

https://www.jianshu.com/p/27ad06cc39d2

shzwork
47分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部