標籤:postgresq file listen conf art data ash 圖片 問控制
1.環境說明
CentOS7.2postgresql10.4
2.下載postgresql的官方地址
https://www.postgresql.org/ftp/source/
在下載列表中根據需求選擇版本10.4,如:
進入子目錄後,可以看到檔案清單:
選擇postgresql-10.4.tar.gz,下載完成後上傳至RedHat伺服器的指定目錄即可。3.配置編譯安裝
tar -zxvf postgresql-10.4.tar.gzcd 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 postgreschown -R postgres:postgres /usr/local/postgresql/su - postgresvi ~/.bash_profilePGHOME=/usr/local/postgresqlexport PGHOMEPGDATA=/usr/local/postgresql/dataexport PGDATAPATH=$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.logpsqlps -ef|grep postgres
Redhat 7.2 編譯安裝PostgreSQL 10