1. 程式人生 > >Redhat 7.2 編譯安裝PostgreSQL 10

Redhat 7.2 編譯安裝PostgreSQL 10

zxvf dha 編碼 -- profile https bin 環境 方式

1.環境說明

CentOS7.2
postgresql10.4

2.下載

postgresql的官方地址
 https://www.postgresql.org/ftp/source/
在下載列表中根據需求選擇版本10.4,如下圖:

技術分享圖片

進入子目錄後,可以看到文件列表:

技術分享圖片

選擇postgresql-10.4.tar.gz,下載完成後上傳至RedHat服務器的指定目錄即可。

3.配置編譯安裝

tar -zxvf postgresql-10.4.tar.gz

cd postgresql-10.4

./configure --prefix=/usr/local/postgresql

編譯postgres,發現提示缺少readline庫,如下圖:

技術分享圖片

yum search readline

發現一個readline-devel包

yum install readline-devel
重新配置
./configure --prefix=/usr/local/postgresq
沒報錯 編譯安裝
make && make install

4.配置用戶權限與環境變量

useradd postgres

chown -R postgres:postgres /usr/local/postgresql/

su - postgres

vi ~/.bash_profile

PGHOME=/usr/local/postgresql
export PGHOME

PGDATA=/usr/local/postgresql/data
export PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
修改完成後可以通過source ./.bash_profile使其立即生效
source ~/.bash_profile

技術分享圖片

5.初始化數據庫

###在使用initdb進行初始化的同時我們可以指定參數來同時進行一些初始化工作,例如指定pgdata(postgresql數據目錄)、
指定encoding(編碼)、指定數據庫超級用戶的用戶名和密碼等等,在最後面我標記出的這段話指出了如果data目錄沒有指定,
則會默認使用環境變量中的PGDATA,由於之前我們剛剛設置了PGDATA環境變量,所以此處我們也就無需再額外指定,最後執行
初始化命令即可:

initdb

技術分享圖片

初始化完成後,在postgresql的目錄可以看到生成的數據目錄data以及該目錄的相關數據和配置文件:

技術分享圖片

#base目錄是表空間目錄
#global目錄是相關全局變量的目錄
#pg_hba.conf:訪問控制配置(127.0.0.1改為信任的客戶端ip網段使其可以遠程訪問)
#postgresql.conf:postgresql主配置文件(listen_address=localhost改為星號使其監聽整個網絡)

6.修改配置文件

將pg_hba.conf的ip地址修改為0.0.0.0/0,而加密方式改為md5,表示需要密碼訪問:

技術分享圖片

修改 postgresql.conf 中的listen_address使其監聽整個網絡:

技術分享圖片

7.關閉防火墻

8.啟動連接數據庫

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

psql

ps -ef|grep postgres

技術分享圖片

技術分享圖片

Redhat 7.2 編譯安裝PostgreSQL 10