由于工作关系,需要调试postgreSQL源码,恰好同事写了这样一个文档,贴出来共享。

 

在Linux下面调试Postgres,需要进行如下几个步骤:
1. 安装Linux操作系统
注意把gdb、Emacs或DDD这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置Linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgreSQL源码能在Linux下面访问到。


2. 安装PostgreSQL

useradd postgre 

(自动建立 postgre 组;设计人员为了安全考虑,PostgreSQL 不能以root 用户运行,所以必须建立对应的用户和组。)
解压到 /usr/local/src

tar xvfz postgresql-8.4.tar.gz
cd postgresql-8.4
./configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib
make
make install
chown  -R  postgre.postgre  /usr/local/pgsql

3. 设置Postgres环境变量(非必须)
vi ~postgre/.bash_profile
添加:
PGLIB=/usr/local/pgsql/lib
PGDATA=$HOME/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PGLIB PGDATA PATH MANPATH

4. 建立数据库
以 postgres 用户登录:
su  postgre
建立数据库目录:
mkdir data
启动数据库引擎:
initdb –D “数据库目录”
之后可以根据提示,通过psql进入数据库


5. 构造PostgreSQL调试环境
先 psql template1进去,然后

select pg_backend_pid();
获得id,就是gdb后面用到的数字
gdb /usr/local/pgsql/bin/postgres 997(pid的数字)
如果只使用gdb,全部是命令行界面;而Emac、DDD分别是彩色、黑白用户交互式图形界面。


6. 使用gdb进行调试
 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐