本文介紹了如何在CentOS系統中安裝和配置PostgreSQL。首先需要安裝依賴包,然后下載并解壓PostgreSQL的離線包,接著創建并安裝PostgreSQL的安裝目錄。接著,生成Makefile并編譯安裝。
一、準備工作
首先安裝依賴包:
yum -y install readline-devel zlib-devel
二、部署工作
2.1 安裝postgresql
將postgresql的包上傳到(/tmp)文件夾中進行解壓。
postgresql的離線包到官方網站下載:https://www.postgresql.org/
tar -xzvf postgresql-13.3.tar.gz
2.2 創建postgresql的安裝目錄
mkdir /data01/postgresql //data01目錄下創建postgresql
2.3 生成makefile
需要到解壓的目錄下操作:
./configure --prefix=/data01/postgresql //需要到解壓的目錄下操作
2.4 編譯安裝
在解壓的目錄下執行:
make && make install //在解壓的目錄下執行
2.5 安裝工具集
PS:進入到解壓后的目錄下的contrib文件夾。
cd /data01/postgresql-11.7/contrib //進入到解壓后的目錄下的contrib文件夾
make && make install
2.6 創建postgresql用戶
groupadd postgres
useradd -g postgres postgres
為了安全考慮,postgresql不允許使用root用戶操作數據庫,我們在系統中為了使用postgresql添加一個用戶postgres:
也可以是其他用戶名,但是習慣上大家都是創建postgres用戶作為數據庫的超級用戶。
初始化數據庫時,就以這個用戶作為數據庫的超級用戶。
2.7 修改data目錄的用戶為postgres
cd /data01/postgresql //進入到安裝的postgresql目錄
mkdir data //在postgresql目錄下創建data文件夾
chown -R postgres:postgres /data01/postgresql/data
2.8 修改環境變量
su - postgres
vim /home/postgres/.bash_profile
添加環境變量:
export PGHOME=/data01/postgresql
export PGDATA=/data01/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm -i'
alias ll='ls -lh'
保存后使環境變量立即生效,否則initdb命令會找不到:
source /home/postgres/.bash_profile
2.9 初始化數據庫
initdb -D /data01/postgresql/data/
2.10 啟動數據庫
su - postgres
cd /home/postgres //logfile需要在postgres的用戶目錄下創建
pg_ctl -D /data01/postgresql/data/ -l logfile start
查看5432端口是否已經啟動:
netstat -nltp|grep 5432
2.1-2.10,主庫備庫服務器上都要操作。
2.11 主庫修改/data01/postgresql/data/pg_hba.conf文件,允許備庫IP通過復制用戶訪問數據庫
2.12 主庫修改/data01/postgresql/data/postgresql.conf
listen_addresses= '*'
wal_level = replica
max_connections = 10000
archive_mode = on
archive_command = 'cp %p /data01/postgresql/archive/%f'
max_wal_senders= 10
wal_keep_size = 1000 # in megabytes; 0 disables
max_slot_wal_keep_size = 10 # in megabytes; -1 disables
wal_sender_timeout = 120s # in milliseconds; 0 disables
hot_standby = on
2.13 修改完后重啟主庫服務
pg_ctl -D /data01/postgresql/data/ -l logfile restart
2.14 備庫使用pg_basebackup命令將主節點的data同步過來
pg_basebackup -h 192.XXX.XXX.208 -p 5432 -U postgres -P -X stream -D /data01/postgresql/data -R
END
本文作者:李黃衍(上海新炬中北團隊)
本文來源:“IT那活兒”公眾號
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計