源碼安裝PostgreSQL過程記錄(Mac os,大體適用於linux,windows可做參考)

一、源碼獲取

1.源碼路徑可從官網直接下載對應版本的代碼,此爲官網下載地址https://www.postgresql.org/ftp/source/,我採用的是此路徑。

 2.可從gituhub倉庫克隆下來,克隆命令爲

git clone git://git.postgresql.org/git/postgresql.git

源碼的目錄(11.5版本)如下:

 二、requirements

官方源碼包:

1. GNU make >= 3.80,可通過make --version查看版本(有時make也被gmake名稱代替),若沒有,請安裝。

2.ISO/ANSI C編譯器,C89及其之後版本,可通過如下相關命令之一查看

cc -v
gcc -v
clang -v

3.GNU Readline庫,有時又命名爲libedit,libreadline,沒有該庫可以在安裝“configure”中設置“--without-readline”選項,後面會提及。

4.zlib 壓縮庫,以上兩個依賴庫一般存在於/usr/lib下,同樣可以設置“-without-zlib”。

Git克隆源碼:

如果是通過git下來的源碼,除以上要求,還需要:

1. Flex >=2.5.31

2. Bison>=1.875

3. Perl >=5.8.3

三、安裝(可自行參照源碼包裏的INSTALL,裏面有官方詳細講解)

1.運行configure檢查系統環境。

可以選擇在configure執行

./configure

也可單獨新建一個文件夾然後在該目錄下運行configure(推薦這種方式,因爲安裝過程中會新生成一些文件,後面可刪除)

mkdir build_dir
cd build_dir
// build_dir裏運行configure

 運行部分截圖如下:

2.make編譯。

在編譯階段可有多種選項選擇(例如上文提到的缺失庫情況),若有相關要求,自行參照INSTALL文件配置選項。

通常,make語句即可。

make

運行截圖如下,若成功,最後一句話應該爲“All of PostgreSQL successfully made. Ready to install.”

若需要安裝說明文檔(HTML and man pages)和contrib模塊,可以執行以下語句

make world

3.迴歸檢驗(可跳過此步)

運行命令

make check

 運行截圖

4.安裝

運行命令

make install

部分截圖

若在前面編譯階段選了make world命令,此處可執行以下命令安裝說明文檔。

make install-world

部分截圖

ok,到此postgresql已經安裝成功了!安裝目錄在/usr/local/pgsql。但是,要想安心使用,還需要後面的配置步驟。

四、配置

1.共享庫配置

postgresql裏提供了一些庫函數以供調用,它們在/usr/localpgsql/lib下,如下所示:

需要配置環境變量LD_LIBRARY_PATH。可選擇在shell命令行("sh", "ksh","bash", "zsh")輸入以下命令:

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

若是 "csh" or "tcsh",則輸入:

setenv LD_LIBRARY_PATH /usr/local/pgsql/lib

但以上命令僅僅使LD_LIBRARY_PATH存活在shell生存期,關閉命令行,也就失效。因此,可以寫到系統環境配置/etc/profile或用戶環境配置~/.bash_profile文件中去(推薦後者)。輸入以下命令:

vim ~/.bash_profile

在打開文件中添加上述兩行命令代碼:

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

2.環境變量配置

postgresql安裝於/usr/local/pgsql下,爲了使用方便,應該爲其配置環境變量。同上麪包配置一樣,爲了長期生效,應將環境變量配置於文件中,執行以下命令:

vim ~/.bash_profile

在文件中添加以下代碼:

PATH=$PATH:/usr/local/pgsql/bin

如果安裝了說明文檔,再添加兩行代碼:

MANPATH=/usr/local/pgsql/share/man:$MANPATH
export MANPATH

3.檢查配置

退出當前shell,重開命令臺,輸入命令,檢查配置是否都正確。

export -p

五、使用數據庫

1.需要爲PostgreSQL server配置一個用戶

若在linux下,可以使用以下命令(配置一個名爲postgres的用戶):

adduser postgres

在root模式下:

root# mkdir /usr/local/pgsql/data
root# chown postgres /usr/local/pgsql/data
root# su - postgres

但是,由於Mac os沒有adduser命令,其添加用戶通過dscl命令。

sudo dscl . -create /Users/postgres

通過以下命令,可查看是否成功

dscl . -list /Users

不過,我用戶添加成功之後,問題來了,當我使用以下命令

sudo chown postgres /usr/local/pgsql/data

報錯如下:

沒辦法,我只能把當前電腦使用用戶slp進行chown命令(還望知道該問題原因的大佬能留言告訴一下,謝謝):

sudo slp postgres /usr/local/pgsql/data
su - slp

2. 用戶定權之後,執行initdb語句:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

其中-D指向了數據的存儲地址爲/usr/local/pgsql/data下。

3.開啓服務器

  • 以前臺方式開啓:
    /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

    運行如圖:

  • 以後臺方式運行:
sudo nohup /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data     </dev/null >>server.log 2>&1 </dev/null &

4. 創建數據庫

createdb testdb

 5.連接數據庫

psql testdb

運行如圖:

ok,先記錄到這吧

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