Ubuntu20.04安裝Postgres主從備份
一.查看可安裝的Postgres包
#列出相關(guān)的軟件包,這里安裝的是14版本
apt list | grep -w postgresql-14 | tail -1
#下載Postgres
apt install -y postgresql-14/focal-pgdg
檢查是否安裝成功
#設(shè)置服務(wù)開機(jī)自啟
systemctl enable postgresql.service
二.配置Postgres
# 切換用戶并登錄到數(shù)據(jù)庫
sudo -u postgres psql
# 修改密碼 SQL
alter user postgres password '<密碼>';
# 添加用戶并賦予replication和login權(quán)限(后面使用此用戶來進(jìn)行主從)
create role replica login replication encrypted password '<密碼>';
# 查看postgresql的配置文件位置(用來方便后面的修改)
select name, setting from pg_settings where category='文件位置';
配置遠(yuǎn)程連接
# 允許遠(yuǎn)程登錄
echo "host all all 0.0.0.0/20 md5" >> /etc/postgresql/14/main/pg_hba.conf
# 允許所有地址監(jiān)聽postgres
echo "listen_addresses='*'" >> /etc/postgresql/14/main/postgresql.conf
# 重啟數(shù)據(jù)庫
systemctl restart postgresql.service
修改主服務(wù)器的配置文件(postgresql.conf、pg_hba.conf)
vim /etc/postgresql/14/main/postgresql.conf
#主從設(shè)置為熱血模式,流復(fù)制必選
wal_level=hot_standby
#流復(fù)制允許連接進(jìn)程
max_wal_senders=2
# 默認(rèn)參數(shù),非主從配置相關(guān)參數(shù),表示到數(shù)據(jù)庫的連接數(shù)
wal_keep_size=1000
max_connections=1000
vim /etc/postgresql/14/main/pg_hba.conf
添加如下配置
#允許從數(shù)據(jù)庫連接主數(shù)據(jù)庫去拖wal日志數(shù)據(jù)
host replication replica <從節(jié)點(diǎn)IP>/24 scram-sha-256
重啟服務(wù)
systemctl restart postgresql.service
三.配置從主機(jī)
首先進(jìn)行第一步的安裝操作。
然后配置從服務(wù)器
# 先停掉服務(wù),備份下本地?cái)?shù)據(jù),并清除本地?cái)?shù)據(jù)
systemctl stop postgresql
# 切換到postgres用戶下,這樣使用下面的備份語句的所屬組和所屬用戶就是postgres
su - postgres
# 復(fù)制一份,防止誤操作
cp -r /var/lib/postgresql/14/main /var/lib/postgresql/14/main.bak
# 清除本地?cái)?shù)據(jù)
rm -rf /var/lib/pgsql/14/main
使用下面命令備份主數(shù)據(jù)庫中的數(shù)據(jù)
pg_basebackup -h <主節(jié)點(diǎn)IP> -U replica -F p -X stream -P -R -D /var/lib/postgresql/14/main
-h
–指定作為主服務(wù)器的主機(jī)。
-D
–指定數(shù)據(jù)目錄。
-U
–指定連接用戶。
-P
–啟用進(jìn)度報(bào)告。
-v
–啟用詳細(xì)模式。
-R
–啟用恢復(fù)配置的創(chuàng)建:創(chuàng)建一個(gè)standby.signal文件,并將連接設(shè)置附加到數(shù)據(jù)目錄下
修改從服務(wù)器的配置文件(root用戶下)
sudo vim /etc/postgresql/14/main/postgresql.conf
# 在備份的同時(shí)允許查詢
hot_standby=on
# 流復(fù)制最大延遲 (可選)
max_standby_streaming_delay=30s
# 從向主報(bào)告狀態(tài)的最大間隔時(shí)間 (可選)
wal_receiver_status_interval=10s
# 查詢沖突時(shí)向主反饋 #默認(rèn)參數(shù),非主從配置相關(guān)參數(shù),表示到數(shù)據(jù)庫的連接數(shù) (可選)
hot_standby_feedback=on
# 一般從庫做主要的讀服務(wù)時(shí),設(shè)置值需要高于主
max_connections=1000
修改之后重啟數(shù)據(jù)庫
systemctl restart postgresql
查看是否成功,登錄主數(shù)據(jù)庫查看文章來源:http://www.zghlxwxcb.cn/news/detail-709867.html
#執(zhí)行sql
select client_addr,sync_state from pg_stat_replication;
查看同步進(jìn)程文章來源地址http://www.zghlxwxcb.cn/news/detail-709867.html
到了這里,關(guān)于Ubuntu20.04安裝Postgres主從備份的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!