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 # 主要用來備庫配置,主庫配置無影響 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ù)庫
pg_basebackup -D ../data1 -U postgres -Fp -X stream -R -P -v -p54321 -h 127.0.0.1
解釋一下常用參數(shù)
pg_basebackup被用于獲得一個正在運(yùn)行的PostgreSQL數(shù)據(jù)庫集簇的基礎(chǔ)備份。
-D directory
將輸出寫到哪個目錄。如果必要,pg_basebackup將創(chuàng)建該目錄及任何父目錄。
-Fp
把輸出寫成平面文件,使用和當(dāng)前數(shù)據(jù)目錄和表空間相同的布局。
-Xstream
在備份被創(chuàng)建時通過流復(fù)制傳送預(yù)寫式日志。這將開啟一個到服務(wù)器的第二連接并且在運(yùn)行備份時并行開始流傳輸預(yù)寫式日志。
-R
--write-recovery-conf
在輸出目錄中(或者當(dāng)使用 tar 格式時在基礎(chǔ)歸檔文件中)建立 standby.signal 并附加連接設(shè)置到postgresql.auto.conf 來簡化設(shè)置一個后備服務(wù)器。postgresql.auto.conf文件將記錄連接設(shè)置(如果有)以及pg_basebackup所使用的復(fù)制槽,這樣流復(fù)制后面就會使用相同的設(shè)置。
-P
--progress
啟用進(jìn)度報(bào)告。
-v
--verbose
啟用冗長模式,可以理解為輸出備份過程數(shù)據(jù)。
3、啟動備機(jī)數(shù)據(jù)庫服務(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;
至此,一個簡單的后備服務(wù)器就搭建好了。
但行好事,莫問前程
到此這篇關(guān)于PostgreSQL13基于流復(fù)制搭建后備服務(wù)器的文章就介紹到這了,更多相關(guān)PostgreSQL13搭建后備服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL 如何獲取當(dāng)前日期時間及注意事項(xiàng)
這篇文章主要介紹了PostgreSQL 如何獲取當(dāng)前日期時間及注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù)的示例
這篇文章主要介紹了PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù),PostgreSQL 16 新增了一個內(nèi)置的 random_normal() 函數(shù),用于生成這種隨機(jī)數(shù),通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01PostgreSQL 實(shí)現(xiàn)快速刪除一個用戶
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)快速刪除一個用戶,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01詳解PostgreSQL?14.4安裝使用及一些安裝的異常問題
這篇文章主要介紹了PostgreSQL?14.4的安裝以及使用以及一些安裝的異常,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07