PostgreSQL13基于流復(fù)制搭建后備服務(wù)器的方法
pg的高可用、負(fù)載均衡和復(fù)制特性矩陣如下

后備服務(wù)器作為主服務(wù)器的數(shù)據(jù)備份,可以保障數(shù)據(jù)不丟,而且在主服務(wù)器發(fā)生故障后可以提升為主服務(wù)器繼續(xù)提供服務(wù)。
實(shí)際操作
1、參數(shù)配置
首先配置主機(jī)的postgresql.conf
vim /usr/local/pgsql/data/postgresql.conf listen_addresses = '*' wal_level = hot_standby max_wal_senders = 10 max_replication_slots = 10 hot_standby = on # 主要用來(lái)備庫(kù)配置,主庫(kù)配置無(wú)影響 wal_keep_size = 1GB #pg13后配置,之前是wal_keep_segments wal_log_hints = on #pg_rewind必須參數(shù) full_page_writes = on
然后配置主機(jī)的pg_hba.conf
vim /usr/local/pgsql/data/pg_hba.conf host replication all 0.0.0.0/0 trust #新增
2、使用pg_basebackup創(chuàng)建備機(jī)數(shù)據(jù)庫(kù)
pg_basebackup -D ../data1 -U postgres -Fp -X stream -R -P -v -p54321 -h 127.0.0.1
解釋一下常用參數(shù)
pg_basebackup被用于獲得一個(gè)正在運(yùn)行的PostgreSQL數(shù)據(jù)庫(kù)集簇的基礎(chǔ)備份。
-D directory
將輸出寫(xiě)到哪個(gè)目錄。如果必要,pg_basebackup將創(chuàng)建該目錄及任何父目錄。
-Fp
把輸出寫(xiě)成平面文件,使用和當(dāng)前數(shù)據(jù)目錄和表空間相同的布局。
-Xstream
在備份被創(chuàng)建時(shí)通過(guò)流復(fù)制傳送預(yù)寫(xiě)式日志。這將開(kāi)啟一個(gè)到服務(wù)器的第二連接并且在運(yùn)行備份時(shí)并行開(kāi)始流傳輸預(yù)寫(xiě)式日志。
-R
--write-recovery-conf
在輸出目錄中(或者當(dāng)使用 tar 格式時(shí)在基礎(chǔ)歸檔文件中)建立 standby.signal 并附加連接設(shè)置到postgresql.auto.conf 來(lái)簡(jiǎn)化設(shè)置一個(gè)后備服務(wù)器。postgresql.auto.conf文件將記錄連接設(shè)置(如果有)以及pg_basebackup所使用的復(fù)制槽,這樣流復(fù)制后面就會(huì)使用相同的設(shè)置。
-P
--progress
啟用進(jìn)度報(bào)告。
-v
--verbose
啟用冗長(zhǎng)模式,可以理解為輸出備份過(guò)程數(shù)據(jù)。
3、啟動(dòng)備機(jī)數(shù)據(jù)庫(kù)服務(wù)器
echo "port=54322" >> /usr/local/pgsql/data1/postgresql.conf pg_ctl -D /usr/local/pgsql/data1 start
4、檢查
登錄主機(jī)查看流復(fù)制關(guān)系
psql -Upostgres -dpostgres -p54321 select * from pg_stat_replication;
主機(jī)插入數(shù)據(jù)
./psql -Upostgres -dpostgres -p54321 create table t1 (id int ,name varchar); insert into t1 values (1,'cli');
備機(jī)查詢數(shù)據(jù),數(shù)據(jù)同步成功
psql -Upostgres -dpostgres -p54322 select * from t1;

至此,一個(gè)簡(jiǎn)單的后備服務(wù)器就搭建好了。
但行好事,莫問(wèn)前程
到此這篇關(guān)于PostgreSQL13基于流復(fù)制搭建后備服務(wù)器的文章就介紹到這了,更多相關(guān)PostgreSQL13搭建后備服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你如何在Centos8-stream安裝PostgreSQL13
- 開(kāi)源數(shù)據(jù)庫(kù)postgreSQL13在麒麟v10sp1源碼安裝過(guò)程詳解
- CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作
- postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))
- Postgresql 檢查數(shù)據(jù)庫(kù)主從復(fù)制進(jìn)度的操作
- Postgresql主從異步流復(fù)制方案的深入探究
- postgresql13主從搭建Ubuntu
相關(guān)文章
PostgreSQL 如何獲取當(dāng)前日期時(shí)間及注意事項(xiàng)
這篇文章主要介紹了PostgreSQL 如何獲取當(dāng)前日期時(shí)間及注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù)的示例
這篇文章主要介紹了PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù),PostgreSQL 16 新增了一個(gè)內(nèi)置的 random_normal() 函數(shù),用于生成這種隨機(jī)數(shù),通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
PostgreSQL 實(shí)現(xiàn)快速刪除一個(gè)用戶
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)快速刪除一個(gè)用戶,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Postgresql ALTER語(yǔ)句常用操作小結(jié)
這篇文章主要介紹了Postgresql ALTER語(yǔ)句常用操作小結(jié),本文講解了增加一列、刪除一列、更改列的數(shù)據(jù)類(lèi)型、表的重命名、更改列的名字、字段的not null設(shè)置等常用操作的代碼示例,需要的朋友可以參考下2015-06-06
詳解PostgreSQL?14.4安裝使用及一些安裝的異常問(wèn)題
這篇文章主要介紹了PostgreSQL?14.4的安裝以及使用以及一些安裝的異常,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
postgresql通過(guò)索引優(yōu)化查詢速度操作
這篇文章主要介紹了postgresql通過(guò)索引優(yōu)化查詢速度操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

