CentOS 7.8安裝PostgreSQL(生產系統)

dba_sam發表於2021-05-21

作業系統安裝

見《CentOS 7.8作業系統安裝》

.2 資料庫軟體

postgresql-12.3.tar.gz,也可以線上下載下來

關閉SELINUX

執行命令:sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config

或vi 編輯/etc/selinux/config 檔案,更改SELINUX=disabled

更改後,執行命令:reboot 重啟系統生效

重啟後,執行:getenforce 檢查selinux狀態是否為Disabled狀態

安裝系統依賴

yum install readline-devel gcc zlib-devel -y


安裝包準備

wget

如果提示沒有wget指令,透過yum install wget -y 進行安裝

也可以下載到本地計算機,再傳送到伺服器端


建立目錄

mkdir -p /app/postgresql-12.3/data

解壓並進行編譯安裝

tar xzvf postgresql-12.3.tar.gz  #解壓縮postgresql安裝包

cd postgresql-12.3  #進入目錄

./configure --prefix=/app/postgresql-12.3   #編譯設定

echo $?    #檢查是否有錯誤

make -j4 && make install   #編譯並安裝


建立組及使用者

groupadd postgres
useradd -g postgres postgres
chown -R postgres:postgres /app
echo "postgres123" | passwd --stdin postgres    //設定postgres使用者的密碼為postgres123


初始化資料庫

su - postgres  //切換到postgres使用者
/app/postgresql-12.3/bin/initdb -D /app/postgresql-12.3/data/


切換到postgres使用者下

su - postgres

vi .bash_profile    //vi 編輯.bash_profile檔案,新增或編輯以下引數,並儲存退出
export PGHOME=/app/postgresql-12.3
export PGDATA=$PGHOME/data
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH


source .bash_profile   //使環境變數配置生效

以root使用者配置

建立啟動指令碼

複製原始碼安裝包下面的啟動指令碼,放在系統/etc/init.d/目錄下,配置成開機自動啟動
cp /root/postgresql-12.3/contrib/start-scripts/linux /etc/init.d/postsql

修改啟動指令碼

vi /etc/init.d/postsql  #編輯啟動指令碼,並修改相應的值

prefix=/app/postgresql-12.3

PGDATA=/app/postgresql-12.3/data


授權並加入系統服務

chmod +x /etc/init.d/postsql

chkconfig --add postsql

chkconfig postsql on --level 2345


su – postgres  #切換到postgres使用者操作

修改postgresql.conf檔案

對監聽地址、埠等引數進行修改,其它引數保持預設

注意如引數有註釋的,要去掉註釋,如(#listen_addresses = 'localhost'  要把#號去掉,並修改localhost為* ,即listen_addresses = '*')

vi /app/postgresql-12.3/data/postgresql.conf

listen_addresses = '*'

port = 5432

max_connections = 500

shared_buffers = 2GB

work_mem = 10MB

maintenance_work_mem = 500MB

effective_cache_size = 5GB

log_timezone = 'Asia/Shanghai'

timezone = 'Asia/Shanghai'

啟動資料庫(root使用者操作)

service postsql start

新增防火牆規則

firewall-cmd --permanent --zone=public --add-port=5432/tcp

      

       如果要指定IP開放,則使用如下規則

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.155/32" port protocol="tcp" port="5432" accept"

過載防火牆

firewall-cmd --reload

驗證資料庫

su - postgres

psql -U postgres

修改密碼

alter user postgres with password 'postgres123';

su – postgres  #切換到postgres使用者配置

修改pg_hba.conf,配置訪問規則

vi /app/postgresql-12.3/data/pg_hba.conf

新增允許訪問規則

host    all             all             0.0.0.0/0              md5

並把原來的配置的METHOD 從trust 改成md5,如下圖所示


重啟PG 資料庫

root 使用者操作

service postsql restart

驗證修改


---END---

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000068/viewspace-2773336/,如需轉載,請註明出處,否則將追究法律責任。

相關文章