Centos 6.5 Postgresql搭建eclipse开发环境

Centos 6.5 Postgresql搭建eclipse开发环境

环境Centos 6.5 GNOME 2.28.2

1.安装git

#mkdir /home/src
#cd src
#yum install git
2015-11-23_22-08-45
2015-11-23_22-08-13

2.eclipse搭建

#yum install eclipse
2015-11-26_20-48-17
#yum install eclipse-cdt
2015-11-26_20-50-09
#yum install readline-devel
2015-11-26_20-54-28

3.安装编译postgresql

#su – postgres
//使用git下载postgresql源代码
#git clone git://git.postgresql.org/git/postgresql.git
2015-11-24_7-26-40
//切换到一个发布版本
#cd postgresql
#git checkout REL9_3_4
2015-11-26_20-35-46
#cd ..
//重新copy一个目录,确保服务器上拉下来的代码不受影响
#cp -rf postgresql/ pgsql
2015-11-26_20-38-39
#yum install bison
#yum install flex
#cd pgsql
#./configure –enable-depend –enable-cassert –enable-debug
系统默认安装至/usr/local/pgsql,我们可以使用下面命令安装至其他目录
#./configure –prefix=/usr/local/pgsqldev –enable-depend –enable-cassert –enable-debug
2015-11-26_21-26-41
#make
#make all
2015-11-26_21-53-19

4.使用eclipse调试

4.1 import源码包

//我们postgres用户名打开eclipse,选择workspace
2015-11-28_13-27-11
选择”C/C++ » Existing Code as Makefile Project”
2015-11-28_13-28-43
点击Next
2015-11-28_13-29-33
选择Linux GCC
2015-11-28_13-29-59
这样我们就建立了一个postgres源码的项目。

4.2调试Initdb

//建立data目录
#mkdir /home/data
#chown postgres:postgres -R /home/data
选择initdb右键,debug as,在C/C++ Application下选择新建,Arguments输入-D /home/data
2015-11-28_13-51-42
点击Apply按钮,然后点击Debug按钮。在这里我们可以设置断点,启动调试。
2015-11-28_13-54-59

4.3调试postgres

首选启动postgres
#/usr/local/pgsql/bin/pg_ctl -D /home/data -l /home/data/logfile start
#/usr/local/pgsql/bin/psql
2015-11-28_15-10-28
eclipse选择postgre debug as,在Attach下新建debug
2015-11-28_15-07-06
我们看到进程5787,5788就是刚才我们运行的psql,双击5788进程,设置断点。
2015-11-28_15-09-29
命令行输入SQL语句select current_time;
2015-11-28_15-33-49
断点处我们看到刚才输入的SQL语句
2015-11-28_15-33-22

4.4 postgres测试框架

测试框架包含在postgres源码目录中src/test
2015-11-28_16-17-03
主要用例都放在regress目录下,有data、expected、input、output、sql等目录和parallel_schedule、serial_schedule、standby_schedule等设置测试用例并行、串行执行的文件,如下图:
2015-11-28_16-17-30
postgres的regress test的流程为:逐个执行sql/目录下的sql脚本,将执行的结果重定向到results/目录下。而expected/目录下则是预期的执行结果。将results目录下的文件逐个与expected中文件进行diff。若文件不一致,则判定为对应的sql脚本执行结果为失败,反之为成功。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值