postgresql主從搭建
主從服務(wù)器分別安裝好postgresql
主庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)熱備帳號(hào)replica,密碼123456為例,則執(zhí)行以下命令
create role replica login replication encrypted password '123456';
打開 pg_hba.conf 配置文件,設(shè)置 replica 用戶白名單
數(shù)據(jù)庫(kù)賬號(hào)為 replica,從節(jié)點(diǎn)的 VPC IPv4 網(wǎng)段為 xx.xx.xx.xx/16,則在 IPv4 local connections 段添加如下內(nèi)容:
host all all xx.xx.xx.xx/16 md5
允許從服務(wù)器連接到主服務(wù)器
host replication replica xx.xx.xx.xx/16 md5
允許從服務(wù)器使用replica用戶復(fù)制
vim /var/lib/pgsql/15/data/postgresql.conf
找到以下參數(shù),并將參數(shù)修改為以下內(nèi)容:
listen_addresses = '*' # 設(shè)置監(jiān)聽的ip,* 為允許所有
wal_level = replica # wal日志寫入級(jí)別,要使用流復(fù)制,必須使用replica或更高級(jí)別
full_page_writes = on # 可以防止意外宕機(jī)后部分?jǐn)?shù)據(jù)無法寫入
wal_log_hints = on # 沒太懂這個(gè)參數(shù)的具體含義,但可能會(huì)影響后續(xù)pg_rewind的使用,所以把它打開,官方描述:also do full page writes of non-critical updates
max_wal_senders = 10 # 設(shè)置流復(fù)制鏈接最大值
hot_standby = on # 打開熱備
wal_keep_segments = 64 # 設(shè)置流復(fù)制保留的最log數(shù)目
重啟服務(wù)
systemctl restart postgresql-15.service
從庫(kù)
清空從庫(kù)目錄
rm -rf /var/lib/pgsql/15/data/*
使用 pg_basebackup 基礎(chǔ)備份工具制定備份目錄
pg_basebackup -D /var/lib/pgsql/15/data -h 192.168.5.132(主節(jié)點(diǎn)公網(wǎng)IP) -p 5432 -U replica(用戶) -X stream –P
修改從服務(wù)器配置文件文章來源:http://www.zghlxwxcb.cn/news/detail-611130.html
vim /var/lib/pgsql/15/data/postgresql.conf
#從機(jī)信息和連接用戶
primary_conninfo = 'host=192.168.5.132 user=replica password=123456'
#說明恢復(fù)到最新狀態(tài)
recovery_target_timeline = latest
#大于主節(jié)點(diǎn),正式環(huán)境重新考慮此值的大小
max_connections = 120
#說明這臺(tái)機(jī)器不僅可以用戶數(shù)據(jù)歸檔,還可以用于數(shù)據(jù)查詢
hot_standby = on
#流備份的最大延遲時(shí)間
max_standby_archive_delay = 30s
#向主機(jī)匯報(bào)本地狀態(tài)的間隔時(shí)間
wal_receiver_status_interval = 10s
#出現(xiàn)錯(cuò)誤復(fù)制,向主機(jī)反饋
hot_standby_feedback = on
在data下創(chuàng)建一個(gè)standby.signal文件
vim standby.signal
standby_mode = 'on'
修改目錄的屬組和屬主
chown -R postgres.postgres /var/lib/pgsql/15/data
重啟服務(wù)
systemctl restart postgresql-15.service
主庫(kù)操作文章來源地址http://www.zghlxwxcb.cn/news/detail-611130.html
su postgres
psql
進(jìn)入數(shù)據(jù)庫(kù)
select * from pg_stat_replication;
看到從庫(kù)信息,則主從搭建完畢
到了這里,關(guān)于postgresql主從搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!