如何在Linux下除錯PostgreSQL

2021-05-24 15:01:05 字數 1452 閱讀 6750

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

VS2008如何在release下除錯

分類 c c 綜合 2013 01 16 21 52 1274人閱讀收藏 舉報一般都是在debug下除錯程式,但有時候,為了加快除錯速度,或者debug版本由於庫的缺失,編譯不過,需要在release下進行除錯。的除錯相關的資訊存在pdb中,裡面包括了 的名稱和行數,還有函式的位址,偏移等,通過pd...

Linux下除錯總結

感覺linux環境下段錯誤的產生原因及除錯方法小結寫的不錯,列舉了幾個主要的除錯方式。有幾點補充 1.在使用core dump的時候,關於開啟 關閉生成core檔案的命令 ulimit c unlimited 使core檔案大小沒有限制。ulimit c 0 限制core檔案大小為0,即不產生cor...

linux下除錯python程式

之前除錯python程式都是用print引數,感覺有點弱爆啊,最近發現python也有類似c語言gdb的工具pdb,記錄下pdb的使用方法和心得。先找了段簡單的測試程式 usr bin python from ftplib import ftpimport sysimport socket impo...