如何在Linux下調試PostgreSQL

    由於工作關係,需要調試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進行調試
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章