PostgreSQL的调试攻略

本文介绍如何编译 PostgreSQL 8.1.1 版本源代码,并使用图形化调试工具 ddd 进行调试。文章详细讲解了编译配置、依赖安装、数据库初始化及调试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要软件:
    首先当然是 PostgreSQL的源代码, 这个可以去www.postgresql.org上面down,现在最新应该是8.1.3,我当前用的是8.1.1版本; 另外编译开发包当然不能少,这个根据各个Linux不同版本来获得(apt-get或者rpm包),当然在绝大部分的系统上都已经默认安装;还有ddd也是必须的,这个是图形化的gdb,对新手来说还是先从图形开始要好点.

步骤:
1.显而易见,我们第一步的任务是编译PostgreSQL源代码,将压缩的源代码解压缩,具体怎么做就不用我说了吧,解压缩后的文件夹是postgresql-8.1.1.进入该文件夹后首先要执行的是configure,用于产生Makefile文件,执行命令
./configure --enable-debug --enable-assert --without-readline --without-zlib
注意这里的 --enable-debug关键,它打开gcc的 -g选项,用于产生调试程序需要的符号,--enbale-cassert用于打开assert的选项,也是用于调试.至于 --without-readline --without-zlib,可以不加,通常的系统都不支持readline和zlib,所以如果configure过不去,看提示来决定是不是需要加上这两项.
OK,下一步就是编译了,这很简单,只需要简单的敲入make命令,就等着系统慢慢编译吧,通常是5-10分钟时间,如果系统差点时间可能就要长点.
这一步完成后就等着安装了,同样很简单,make install即可搞定.
默认情况下,会装到/usr/local/pgsql/目录下,到此为止,安装的任务完成.

2. 看系统有没有postgres组和 postgres用户,如果没有,需要用超级用户来创建改组和用户,因为启动数据库需要postgres用户,注意这里超级用户不行.然后你需要创建一个文件夹用于存放数据文件,建议放在/usr/local/pgsql下,不过不是必须,该文件夹的用户和组必须是postgres.
接下里,执行命令:
initdb -D 数据文件夹
用于初始化数据库模板template0和一起其他的数据库文件.

3. 下面就可以运行ddd了.
ddd /usr/local/pgsql/bin/postgres &
哈哈,是不是窗口出来了,里面还有源码.
然后program->run,在弹出的窗口里的 Run with Arguments里填入test,然后回车.
再看下面的框,出现
PostgreSQL stand-alone backend 8.1.1
backend>

到此为止,我们任务完成,至于ddd的详细调试过程待以后再来讨论或者大家自行查找帮助文档.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值