由于工作關(guān)系,需要調(diào)試postgreSQL源碼,恰好同事寫了這樣一個(gè)文檔,貼出來共享。
在Linux下面調(diào)試Postgres,需要進(jìn)行如下幾個(gè)步驟:
1. 安裝Linux操作系統(tǒng)
注意把gdb、Emacs或DDD這些開發(fā)工具都安裝上。如果是在虛擬機(jī)上安裝,依然需要設(shè)置Linux系統(tǒng)的網(wǎng)絡(luò)環(huán)境;另外需要設(shè)置文件共享,方便windows下面的postgreSQL源碼能在Linux下面訪問到。-
2. 安裝PostgreSQL
useradd postgre
(自動(dòng)建立 postgre 組;設(shè)計(jì)人員為了安全考慮,PostgreSQL 不能以root 用戶運(yùn)行,所以必須建立對(duì)應(yīng)的用戶和組。)
解壓到 /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. 設(shè)置Postgres環(huán)境變量(非必須)
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. 建立數(shù)據(jù)庫
以 postgres 用戶登錄:
su postgre
建立數(shù)據(jù)庫目錄:
mkdir data
啟動(dòng)數(shù)據(jù)庫引擎:
initdb –D “數(shù)據(jù)庫目錄”
之后可以根據(jù)提示,通過psql進(jìn)入數(shù)據(jù)庫
5. 構(gòu)造PostgreSQL調(diào)試環(huán)境
先 psql template1進(jìn)去,然后
select pg_backend_pid();
獲得id,就是gdb后面用到的數(shù)字
gdb /usr/local/pgsql/bin/postgres 997(pid的數(shù)字)
如果只使用gdb,全部是命令行界面;而Emac、DDD分別是彩色、黑白用戶交互式圖形界面。
6. 使用gdb進(jìn)行調(diào)試
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|