此篇文檔爲轉載,來自趙熠東的csdn博客,地址暫時未找到
安裝yum源
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
安裝客戶端和服務端
yum install -y postgresql10-server postgresql10
安裝完會在系統中建立postgres用戶,並在其.bash_profile中設置PGDATA=/var/lib/pgsql/10/data
在/usr/lib/systemd/system/目錄建立postgresql-10.service用於支持
systemd調用
systemd設置開機啓動原理
支持
systemd啓動的程序會在/usr/lib/systemd/system/下創建.service啓動腳本
systemctl enable postgresql-10.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-10.service to /usr/lib/systemd/system/postgresql-10.service.
設置開機啓動就是在/etc/systemd/system/multi-user.target.wants/設置/usr/lib/systemd/system/對應service的符號連接
systemctl disable postgresql-10.service
Removed symlink /etc/systemd/system/multi-user.target.wants/postgresql-10.service
取消開機啓動就是在/etc/systemd/system/multi-user.target.wants/刪除對應service的符號連接
數據庫初始化腳本postgresql-10-setup會讀取/usr/lib/systemd/system/postgresql-10.service腳本里面的PGDATA用來設置數據庫文件的存放位置
建立數據庫數據文件存放目錄
mkdir -p /data/pgsql/10/data/
chown postgres /data/pgsql -R
修改配置文件
使用root用戶修改/usr/lib/systemd/system/postgresql-10.service的PGDATA路徑
vim /usr/lib/systemd/system/postgresql-10.service
將
Environment=PGDATA=/var/lib/pgsql/10/data/
改成
Environment=PGDATA=/data/pgsql/10/data/
而後
systemctl daemon-reload
從新加載配置文件
修改postgres用戶的~/.bash_profile的環境變量PGDATA爲實際路徑(不修改這個對於整個安裝過程沒有任何影響)
su - postgres
vim ~/.bash_profile
將
PGDATA=/var/lib/pgsql/10/data
改成
PGDATA=/data/pgsql/10/data
確認配置文件
postgresql-10-setup初始化腳本,會經過
systemctl show -p Environment "postgresql-10.service" |
sed 's/^Environment=//' | tr ' ' '\n' |
sed -n 's/^PGDATA=//p' | tail -n 1
獲取數據庫文件存放的位置,執行以上命令,若是顯示的路徑跟設置的路徑不一致,就須要執行
systemctl daemon-reload
從新加載配置文件,再次查看,若是路徑還不對,就說明設置的路徑有問題。
初始化數據庫
使用root用戶執行
/usr/pgsql-10/bin/postgresql-10-setup initdb
初始化數據庫後會在/data/pgsql/10/data/建立數據庫相關的數據文件和
配置文件
而且會將數據庫文件存放的目錄/data目錄權限設爲0700,因此若是要遷移到其餘路徑,也應該將該目錄設爲
chmod 0700,不然啓動會報錯
開啓遠程訪問
修改配置文件postgresql.conf
vim /data/pgsql/10/data/postgresql.conf
修改#listen_addresses = 'localhost' 爲 listen_addresses='*' (注意須要刪除#註釋)
固然,此處‘*’也能夠改成任何你想開放的服務器IP
信任遠程鏈接
修改配置文件pg_hba.conf
vim /data/pgsql/10/data/pg_hba.conf
使用shift+g跳至底部
# IPv4 local connections:
host all all 127.0.0.1/32 ident
爲
# IPv4 local connections:
host all all 0.0.0.0/0 md5
0.0.0.0/0表示全部IP可鏈接,也能夠設置爲特定IP
設置開機啓動
systemctl enable postgresql-10
啓動數據庫
systemctl start postgresql-10
修改數據庫管理員密碼
su - postgres
psql
輸入
\password
或者
\password postgres
防火牆開放5432端口
CentOS 防火牆中內置了PostgreSQL服務,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,咱們只需以服務方式將PostgreSQL服務開放便可
firewall-cmd --add-service=postgresql --permanent 開放postgresql服務
firewall-cmd --reload 重載防火牆
參考地址