您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何使用PostgreSQL13基于流復制搭建后備服務器”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用PostgreSQL13基于流復制搭建后備服務器”這篇文章吧。
pg的高可用、負載均衡和復制特性矩陣如下
后備服務器作為主服務器的數據備份,可以保障數據不丟,而且在主服務器發生故障后可以提升為主服務器繼續提供服務。
首先配置主機的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必須參數 full_page_writes = on
然后配置主機的pg_hba.conf
vim /usr/local/pgsql/data/pg_hba.conf host replication all 0.0.0.0/0 trust #新增
pg_basebackup -D ../data1 -U postgres -Fp -X stream -R -P -v -p54321 -h 127.0.0.1
解釋一下常用參數
pg_basebackup被用于獲得一個正在運行的PostgreSQL數據庫集簇的基礎備份。
-D directory
將輸出寫到哪個目錄。如果必要,pg_basebackup將創建該目錄及任何父目錄。
-Fp
把輸出寫成平面文件,使用和當前數據目錄和表空間相同的布局。
-Xstream
在備份被創建時通過流復制傳送預寫式日志。這將開啟一個到服務器的第二連接并且在運行備份時并行開始流傳輸預寫式日志。
-R
--write-recovery-conf
在輸出目錄中(或者當使用 tar 格式時在基礎歸檔文件中)建立 standby.signal 并附加連接設置到postgresql.auto.conf 來簡化設置一個后備服務器。postgresql.auto.conf文件將記錄連接設置(如果有)以及pg_basebackup所使用的復制槽,這樣流復制后面就會使用相同的設置。
-P
--progress
啟用進度報告。
-v
--verbose
啟用冗長模式,可以理解為輸出備份過程數據。
echo "port=54322" >> /usr/local/pgsql/data1/postgresql.conf pg_ctl -D /usr/local/pgsql/data1 start
登錄主機查看流復制關系
psql -Upostgres -dpostgres -p54321 select * from pg_stat_replication;
主機插入數據
./psql -Upostgres -dpostgres -p54321 create table t1 (id int ,name varchar); insert into t1 values (1,'cli');
備機查詢數據,數據同步成功
psql -Upostgres -dpostgres -p54322 select * from t1;
至此,一個簡單的后備服務器就搭建好了。
以上是“如何使用PostgreSQL13基于流復制搭建后備服務器”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。