Ubuntu下PostgreSQL调试环境搭建 (eclipse)


系统环境:ubuntu18.10
eclipse环境:Version: 2019-06 (4.12.0)
开发环境搭建教程: https://blog.csdn.net/zxwsbg/article/details/87170767
依据《 PostgreSQL数据库内核分析》一书以及postgres官网文档配置。
官网文档链接 : https://wiki.postgresql.org/wiki/Working_with_Eclipse (强烈推荐)
PostgreSQL源码下载地址: https://www.postgresql.org/ftp/source/v8.4.1/

必备组件

首先安装插件。

sudo apt-get install libreadline-dev
sudo apt-get install zlib1g-dev
sudo apt-get install flex bison

然后在PostgreSQL源代码目录下输入。与书上不同,由于gcc优化,按照原来的编译会发生错误,所以关闭编译优化。如果这一步是按照书上做的,那么后面需要make clean后重新生成了。

./configure --prefix=$HOME/project --enable-depend --enable-cassert --enable-debug --enable-debug CFLAGS=-O0

导入代码

打开eclipse,File->import,然后点击如下图所示。
在这里插入图片描述
next,下一步画圈圈的配置需要和我完全一样。
在这里插入图片描述
然后点击finish,编译了一会后,最终界面如下图所示。
在这里插入图片描述

开发与调试

新建 “Make Target”

右击pgsql项目名,然后点击Build Targets->Create..(这里和书上不一样,因为eclipse版本不同)。按照如下图配置后点击OK。
在这里插入图片描述
此时项目列表左侧出现Build Target选项,目录下有个install,双击后就开始构建了,出现如下图所示表示构建成功。
在这里插入图片描述

尝试运行数据库

打开源代码所在目录。如下图所示表示成功构建。

cd project
export PATH=$HOME/project/bin:$PATH
export PGDATA=DemoDir
initdb

在这里插入图片描述

调试数据库代码

注意:运行成功后需要关闭原Postmaster进程!!!
在这步出现了若干问题,用了一系列措施,不知道哪个有用哪个没用,干脆全写了。

vim /etc/profile

# 添加如下几行
export PATH=$HOME/project/bin:$PATH
export PGDATA=$HOME/postgresql-9.5.2/DemoDir

# 退出后
source /etc/profile
cd ~/project/bin
initdb

然后运行数据库时会出现端口已占用,就去进程里面kill掉就行了。
右键pgsql,Debug As -> Local C/C++ Applications->postgres,出现如下图所示表示成功。
在这里插入图片描述
程序在main函数处停下,此时继续点击工具栏的前进按钮让主进程运行完。

服务进程调试

首先打开终端输入psql,会出现若干问题,这个可以在我另一篇博客里解决。
Eclipse界面 Run->Debug configurations->C\C++ Attach To Application
如果出不来子目录就双击一下C\C++ Attach To Application
在这里插入图片描述
点Debug,出现进程选择,选与postgres对应的。

参考资料

[1] 《PostgreSQL数据库内核分析》
[2] https://www.jianshu.com/p/f8ec012b4cc6
[3] https://www.cnblogs.com/maxiaohei/p/10321150.html
[4] https://wiki.postgresql.org/wiki/Working_with_Eclipse

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总想玩世不恭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值