今天起牀看到牀頭上的那本《PostgreSQL數據庫內核分析》,發覺這書買了這麼長時間,雖然大體看了一遍,可還沒親手實踐。今天就花了點時間搭了個調試環境。git
環境:Debian 7.0sql
#### 第一步:安裝以來的工具和庫 ####
sudo apt-get install build-essential gdb bison flex zlib1g-dev libreadline-dev數據庫
#### 第二步:建立用戶 ####
adduser postgres工具
如下幾步須要切換到postgres用戶post
#### 第三步:準備源代碼 ####
git clone http://git.postgresql.org/git/postgresql.git $HOME/postgresql學習
#### 第四步:源代碼配置、編譯、安裝 ####
cd postgresqlflex
./configure --prefix=$HOME/postgresql --enable-debug --enable-cassert --enable-dtrace --enable-dependui
makedebug
make install調試
#### 第五步:啓動數據庫 ####
cd $HOME/postgresql/
mkdir data
cd bin
./initdb -D ../data/
./postgres -D ../data/
#### 鏈接數據庫 ####
./psql
這樣,整個環境就搭建起來的,接下來就能夠使用gdb attach到postgres進程進行調試。PostgreSQL如今支持用戶態的systemtap probe,因此能夠先使用systemtap(或者dtrace)瞭解大致執行流程,而後在進行學習。