linux下源碼編譯安裝postgreSQL11.7

軟件環境:

  • redhat5 64位系統
  • postgreSQL11.7源碼包

1、將源碼包拷貝到linux服務器上(root)

/*
源碼包可以從官網下載。
我這裏提供一份我已經下載好的postgreSQL11.7源碼包:
鏈接:https://pan.baidu.com/s/1ZryENl6oTEd3TNsWtS8wvg
提取碼:dvs1
*/
使用root用戶將源碼包postgresql-11.7.tar.gz拷貝到數據庫服務器上。
在這裏插入圖片描述
解壓到當前目錄下:
tar -zxvf postgresql-11.7.tar.gz
在這裏插入圖片描述

2、檢查安裝環境(root)

進入解壓後的目錄:
cd postgresql-11.7

執行如下命令檢查安裝環境:
./configure --prefix=/usr/local/pgsql

在檢查安裝環境過程中如果沒有出現錯誤,並最後出現如下界面,則成功,否則,需要先檢查錯誤原因,再重新執行該命令。
在這裏插入圖片描述

3、開始編譯源碼(root)

執行如下命令開始編譯源碼(整個編譯時間可能會比較長,細心等待):
make

編譯完成後,會有如下畫面,表示編譯成功。
在這裏插入圖片描述

4、 開始安裝(root)

安裝目錄在檢查安裝環境那個章節已經配置好,這裏只需要執行如下命令,開始安裝:
make install

出現如下畫面,表示安裝完成。
在這裏插入圖片描述
切換到/usr/local目錄,可以發現已經有pgsql目錄了。
在這裏插入圖片描述

5、 創建用戶(root)

編譯安裝成功後,接下來要做的就是創建一個普通用戶,因爲默認超級用戶(root)不能啓動postgresql,所以需要創建一個普通用戶來啓動數據庫,執行以下命令創建用戶:
groupadd postgres
useradd -g postgres postgres
passwd postgres

在/usr/local/pgsql下分別創建數據目錄(data)和日誌目錄(log):
mkdir -p /usr/local/pgsql/data
mkdir -p /usr/local/pgsql/log

接下來設置權限,將pg的數據目錄全部賦給postgres用戶,執行以下命令:
chown -R postgres:postgres /usr/local/pgsql

6、配置環境變量(postgres)

切換到postgres用戶,使用命令vi .bashrc添加如下環境變量:

export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data            
export PGLOG=/usr/local/pgsql/log/serverlog
export PATH=${PGHOME}/bin:$PATH
export LD_LIBRARY_PATH=${PGHOME}/lib:$LD_LIBRARY_PATH

爲了使環境變量立即生效,執行如下命令:
source .bashrc

7、初始化數據庫(postgres)

使用postgres用戶執行如下命令:
initdb -D $PGDATA -U postgres --locale=en_US.UTF8 -E UTF8

看到如下畫面表示數據庫初始化成功:
在這裏插入圖片描述

8、設置參數文件(postgres)

使用postgres用戶,執行vi /usr/local/pgsql/data/postgresql.conf 修改如下參數(監聽地址、監聽端口、最大連接數):

listen_addresses = '*'
port = 5432
max_connections = 100

執行vi /usr/local/pgsql/data/pg_hba.conf修改如下參數(客戶端認證):

# IPv4 local connections:
host   all             all             0.0.0.0/0            md5

9、啓動數據庫(postgres)

pg_ctl start -D $PGDATA -l $PGLOG

10、停止數據庫(postgres)

pg_ctl stop -D $PGDATA -m fast -W

11、配置系統服務,開機自啓動(root)

進入postgresql源碼包的解壓目錄(本文爲/root/postgresql-11.7),執行命令 cp contrib/start-scripts/linux /etc/init.d/postgresql,然後 vim /etc/init.d/postgresql,進行如下配置修改:

# contrib/start-scripts/linux

## EDIT FROM HERE
# Installation prefix
prefix=/usr/local/pgsql

# Data directory
PGDATA="/usr/local/pgsql/data"

# Who to run the postmaster as, usually "postgres".  (NOT"root")
PGUSER=postgres

# Where to keep a log file
PGLOG="$prefix/log/serverlog"

然後再分別執行如下命令:
chmod u+x postgresql
chkconfig --add postgresql

使用root用戶測試配置的postgresql服務是否好使:
啓動postgresql服務:
在這裏插入圖片描述

停止postgresql服務:
在這裏插入圖片描述

12、測試數據庫連接(postgres)

(一) 本地連接
本地連接這裏使用的是postgresql自帶的客戶端程序psql:
出現如下界面表示連接成功。
在這裏插入圖片描述

這裏需要修改下postgres用戶的密碼,方便下面遠程連接時使用。
在psql命令提示符下輸入如下命令:
alter user postgres with password ‘postgres’;

(一) 遠程連接
遠程連接這裏使用的是Navicat for PostgreSQL,一款第三方軟件。
在這裏插入圖片描述
在這裏插入圖片描述

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