如何在Linux下调试PostgreSQL

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-06-30

由于工作关系,需要调试postgreSQL源码,恰好同事写了这样一个文档,贴出来共享。在Linux下面调试Postgres,需要进行如下几个步骤



由于工作关系,需要调试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进行调试


  • 请大家介绍一下各种后缀,如ISO
    答:2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件 386:在386或更高级处理器上使用的文件 3D:VersaCAD的3维绘画文件 3DM:3D NURBS建模器,Rhino 3DS:3D Studio(DOS下)格式文件 386:在386或更高级处理器上使用的文件 4GE:Informix 4GL编译后代码 4GL:Informix 4GL源代码 669:Composer 669;UNIX Composer音乐模型文...
  • 跪求:旧版的《中日交流标准日本语 初级》的课文MP3下载
    答:青空文库 http://www.aozora.gr.jp ;儿童电子图书馆 http://www.digital-lib.nttdocomo.co...uten/index.html ;公共图书馆大全 http://plng.p.u-tokyo.ac.jp/text/Reference2.html ;日语图书俱乐部 http://www.bookclub.kodansha.co.jp ;其它实用网址日本法律知识 http://list.room.ne.jp/~lawtext/...