eclipse調試postgresql源碼安裝教程

1、環境準備

centos6.5 32位、VMware Workstation 12 Pro

postgresql9.6源碼、eclipse for c++、jdk1.8

說明:虛擬機配置內存最好大於等於4G,硬盤20G就可以了。

2、文件預覽

說明:
data:pgsql數據庫課數據存儲文件夾
eclipse:eclipse文件夾
jdk1.8:jdk文件夾
pg:pgsql編譯安裝文件夾
pgsql:源碼文件夾
workspace:eclipse工作空間

2.1 整個操作都是在用戶postgres下進行

添加用戶
useradd postgres
設置密碼
passwd postgres

2.2 安裝依賴包

libreadline5-dev、zlib1g-dev、bison和flex
centos6.5基本都有這些包
沒有的話通過yum安裝
如:
yum install flex

用apt-get install進行安裝的,在安裝過程中,可能遇到提示說找不到包的情況,例如安裝 libreadline5-dev時就提示找不到包的情況。
這時我們需要使用apt-get undate 跟新下源再重新安裝,如果還是找不到,則可以使用它提示中給出的類似軟件包代替安裝即可(這裏介紹的找不到應對安裝包的情況,適用於任何Ubuntu下的安裝情況,大家可以舉一反三)。例如我們使用libreadline-gplv2-dev代替libreadline5-dev即可。

檢查是否有的命令:
rpm -qa|grep bison

3、安裝jdk、postgresql、eclipse

3.1 jdk

cd ~
mkdir software
cd software
解壓:
tar zxvf jdk-8u11-linux-i586.tar.gz
配置環境變量:
vi ~/.bash_profile
添加如下(/home/postgres/software/jdk1.8是jdk目錄)

export JAVA_HOME=/home/postgres/software/jdk1.8
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

(記住,每修改一次.bash_profile都得執行下面操作)
source ~/.bash_profile

java -version

3.2 postgresql

tar jxvf postgresql-9.6.0.tar.bz2
mv postgresql-9.6.0 pgsql

配置pgsql參數:(/home/postgres/software/pg爲pgsql安裝目錄,後面還會用到)

cd pgsql 
./configure --prefix=/home/postgres/software/pg --enable-depend --enable-cassert --enable-debug

3.3 eclipse

tar zxvf eclipse-cpp-mars-1-linux-gtk.tar.gz
進入eclipse目錄
cd eclipse
啓動eclipse(啓動前確保jdk安裝好了,且環境變量配好了)
./eclipse

4、編譯pgsql

file - import

選擇Existing Code as Makefile Project

然後點擊Next,在下面的圖示中選擇PostgreSQL源碼所在的目錄,併爲工程文件起一個項目名,並選擇Linux GCC編譯器

由於PostgreSQL是使用C編寫的,所以也要把C++勾掉,只保留C,如上圖所示,然後點擊Finish,等待工程導入完畢,這裏需要注意的是隻有當工程完全導入之後纔可以執行下面的操作,否可可能出現錯誤,(可以通過Eclipse右下角查看當前導入進度)。當工程完全導入之後沒有出現錯誤,則表明PostgreSQL編譯成功。

如果console控制檯沒有日誌,也可以自己手動編譯
project - build all

編譯成功:

5、安裝pgsql

在導入的工程上右鍵選擇Make Targets 然後選擇Create,如下圖所示:

在出現的窗口的Target name中輸入install點擊OK。

在Make Target選項卡中雙擊install進行安裝:

此時Eclipse控制檯中如下圖所示:

表明PostgreSQL安裝成功

6、運行pgsql

6.1 運行前配置

vi ~/.bash_profile

export PATH=/home/postgres/software/pg/bin:$PATH
export PGDATA=/home/postgres/software/data/

(/home/postgres/software/pg就是–prefix的目錄)
(PGDATA是pgsql數據庫文件地址)

保存並生效
source .bash_profile

6.2 在終端執行:

initdb
生成數據庫文件

表示成功生成。

6.3 此時在Eclipse中項目上右鍵選擇Run As–>Run Configurations

雙擊C/C++ Application,在Main選項卡中點擊Search Project選擇Postgres點擊Apply。

然後再切換到Arguments選項卡,輸入參數:-D /home/postgres/software/data/(即上面命令中PGDATA指定的路徑)。

點擊Run,如果看到如下信息表示安裝成功,此時數據庫可以正式運行了。

7、創建數據庫

查看有哪些數據
psql -l

創建數據庫
createdb demo

連接demo數據庫
psql demo

8、在eclipse中調試pgsql源代碼

8.1 首先得啓動pgsql服務

通過
右鍵項目–run–run configurations(前面有敘述)

再通過終端連接pgsql demo數據庫
psql demo

通過客戶端輸sql語句,找出後端進程id,(即我們需要調試的進程)
select pg_backend_pid();


在終端
ps -ef|grep postgres

截圖是主要的幾個進程:

退出命令
\q

8.2 開始啓動debug

右鍵項目名,選擇
run - debug configurations

點擊apply保存參數
再點擊debug,執行
出現如下界面,選擇8611進程(需要調試的進程,即服務端進程)

出現界面,表示debug啓動成功

8.3 調試效果

輸入
select 1;

顯示不往下執行,說明已經進入調試模式,斷點位置

F6執行下一行

執行完效果:


參考:
http://blog.csdn.net/edwzhang/article/details/7610019
http://blog.csdn.net/anzelin_ruc/article/details/8539411
http://www.cnblogs.com/marsprj/archive/2013/02/08/2893519.html

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