本文介紹了如何在CentOS系統(tǒng)中安裝和配置PostgreSQL。首先需要安裝依賴包,然后下載并解壓PostgreSQL的離線包,接著創(chuàng)建并安裝PostgreSQL的安裝目錄。接著,生成Makefile并編譯安裝。
一、準備工作
首先安裝依賴包:
yum -y install readline-devel zlib-devel
二、部署工作
2.1 安裝postgresql
將postgresql的包上傳到(/tmp)文件夾中進行解壓。
postgresql的離線包到官方網(wǎng)站下載:https://www.postgresql.org/
tar -xzvf postgresql-13.3.tar.gz
2.2 創(chuàng)建postgresql的安裝目錄
mkdir /data01/postgresql //data01目錄下創(chuàng)建postgresql
2.3 生成makefile
需要到解壓的目錄下操作:
./configure --prefix=/data01/postgresql //需要到解壓的目錄下操作
2.4 編譯安裝
在解壓的目錄下執(zhí)行:
make && make install //在解壓的目錄下執(zhí)行
2.5 安裝工具集
PS:進入到解壓后的目錄下的contrib文件夾。
cd /data01/postgresql-11.7/contrib //進入到解壓后的目錄下的contrib文件夾
make && make install
2.6 創(chuàng)建postgresql用戶
groupadd postgres
useradd -g postgres postgres
為了安全考慮,postgresql不允許使用root用戶操作數(shù)據(jù)庫,我們在系統(tǒng)中為了使用postgresql添加一個用戶postgres:
也可以是其他用戶名,但是習(xí)慣上大家都是創(chuàng)建postgres用戶作為數(shù)據(jù)庫的超級用戶。
初始化數(shù)據(jù)庫時,就以這個用戶作為數(shù)據(jù)庫的超級用戶。
2.7 修改data目錄的用戶為postgres
cd /data01/postgresql //進入到安裝的postgresql目錄
mkdir data //在postgresql目錄下創(chuàng)建data文件夾
chown -R postgres:postgres /data01/postgresql/data
2.8 修改環(huán)境變量
su - postgres
vim /home/postgres/.bash_profile
添加環(huán)境變量:
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'
保存后使環(huán)境變量立即生效,否則initdb命令會找不到:
source /home/postgres/.bash_profile
2.9 初始化數(shù)據(jù)庫
initdb -D /data01/postgresql/data/
2.10 啟動數(shù)據(jù)庫
su - postgres
cd /home/postgres //logfile需要在postgres的用戶目錄下創(chuàng)建
pg_ctl -D /data01/postgresql/data/ -l logfile start
查看5432端口是否已經(jīng)啟動:
netstat -nltp|grep 5432
2.1-2.10,主庫備庫服務(wù)器上都要操作。
2.11 主庫修改/data01/postgresql/data/pg_hba.conf文件,允許備庫IP通過復(fù)制用戶訪問數(shù)據(jù)庫
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 修改完后重啟主庫服務(wù)
pg_ctl -D /data01/postgresql/data/ -l logfile restart
2.14 備庫使用pg_basebackup命令將主節(jié)點的data同步過來
pg_basebackup -h 192.XXX.XXX.208 -p 5432 -U postgres -P -X stream -D /data01/postgresql/data -R
END
本文作者:李黃衍(上海新炬中北團隊)
本文來源:“IT那活兒”公眾號
來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內(nèi)容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權(quán)及插圖屬于原作者。
Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利
蘇公網(wǎng)安備32010402000125
蘇ICP備14051488號-3技術(shù)支持:南京博盛藍睿網(wǎng)絡(luò)科技有限公司
南京思必達教育科技有限公司版權(quán)所有 百度統(tǒng)計