美創科技運維日記|postgresql-pg簡易非同步流複製搭建
流複製是postgresql非常重要並且非常好用的高可用架構。本篇文章小編就來帶大家簡單的做一個pg流複製的安裝。
流複製是PostgreSQL 9.0之後才提供的新的傳遞WAL日誌的方法。透過流複製,備庫不斷的從主庫同步相應的資料,並在備庫apply每個WAL record,這裡的流複製每次傳輸單位是WAL日誌的record。就如 的dataguard技術一樣,pg的流複製也是按照同步模式的不同,分為同步流複製和非同步流複製。同步流複製雖然能在主庫壞掉時確保資料的一致,但是當網路或者備庫有問題的時候,會導致主庫事務hang住。非同步流複製則沒有這樣的缺點,不會影響生產庫的效能,但是在主庫壞掉的時候,可能會丟掉一小部分資料。
pg的流複製安裝非常的簡單,如下配置完成後,就可以做到,如下版本是pg11在rhel7的配置,注意,需要提前在兩邊伺服器上建好同一個版本的pg服務:
01主庫操作
1.1建立複製使用者作為主從同步使用
postgres=# create role repl login replication encrypted password '123456';
CREATE ROLE
1.2修改pg_hba.conf檔案
主庫
host allall192.168.0.0/ 24md5
host replication repl192.168.0.52/24md5
第一行#允許XX這個從伺服器連線到主伺服器
第二行#允許使用replica使用者來複制,第二個欄位必須要填repl (上一步新增的使用者)
#psql
psql> select pg_reload_conf();#生效
1.3修改postgresql.conf
listen_addresses='*'#這個一般安裝伺服器之後都會進行配置,檢查下
wal_level=replica #預設replica,不動
wal_keep_segments=256#設定流複製保留的最多的xlog數目
#重啟pg服務生效。
#只有listen_address改變需要重啟,否則select pg_reload_conf()即可。
pg_ctl stop –D $PGDATA
pg_ctl start –D $PGDATA
1.4在從庫測試連線是否成功
psql -h 192.168.0.51-p 5432-U postgres
02備庫操作
2.1停止pg服務,清空data目錄
[postgres@apple-standby ~]$ echo $PGDATA
/data/pg11.5/data
[postgres@apple-standby data]$ rm -rf /data/pg11.5/data
2.2從主節點複製資料到從節點
$ pg_basebackup -h 192.168.0.51-U repl -D /data/pg11.5/data -X stream -P
could not identify current directory: No such file or directory
Password:
45238/45238 kB (100%),1/1 tablespace
2.3配置recovery.conf
cd $PGHOME(軟體安裝目錄)
cp share/recovery.conf.sample $PGDATA/recovery.conf
vi recovery.conf
standby_mode = on
primary_conninfo='host=192.168.0.51 port=5432 user=repl password=123456'
recovery_target_timeline='latest'
###
primary_conninfo 主伺服器的資訊以及連線的使用者
standby_mode = on #說明該節點是從伺服器
recovery_target_timeline #指定恢復到特定時間軸。預設設定是沿著執行基本備份時的當前時間線恢復。將此設定為 latest 將恢復到存檔中找到的最新時間軸
2.4啟動服務
pg_ctl start -D $PGDATA
在主庫上查詢,如下,可以看到,sync_state,async就表示非同步流複製。
postgres=# select pid,usename,application_name,client_addr,state,sync_state from pg_stat_replication;
如上,就簡單的搭好了一個流複製資料庫!可以試一試!
美創科技擁有強大的運維中心資料庫服務團隊,其中Oracle ACE 1人、OCM 10餘人、數十名Oracle OCP、MySQL OCP、 RHCA、中介軟體weblogic、tuxedo認證、達夢工程師,並著有《Oracle DBA實戰攻略》,《Oracle資料庫效能最佳化方法和最佳實踐》,《Oracle核心技術揭秘》等多本資料運維最佳化書籍。
美創科技結合多年來在資料中心運維領域的知識經驗沉澱,自主研發資料中心運維一體機,並架構美創運維雲,實現了對資料中心的全景監控和資料庫智慧化運維,有效保障生產業務的執行穩定和資料完整性。更多產品詳情諮詢:4008113777。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69973247/viewspace-2707831/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 美創科技運維日記|關於Oracle補丁體系及其迭代階段運維Oracle
- 美創科技運維日記|Oracle欄位長度引起的思考length()和lengthb()運維Oracle
- MongoDB日常運維-03主從複製搭建MongoDB運維
- 美創運維日記|Oracle資料庫的軟體版本需知運維Oracle資料庫
- GreatSQL 非同步複製及搭建SQL非同步
- PostgreSQL 13 同步流複製(#2.4)-202104SQL
- MySQL5.7主從複製-半同步複製搭建MySql
- Oracle資料庫的軟體支援週期需知|美創運維日記Oracle資料庫運維
- PostgreSQL 13 非同步流複製(#2.1)-202103SQL非同步
- PostgreSQL 13 同步流複製+failover(#2.6)-202104SQLAI
- Docker 搭建KingbaseES主備流複製Docker
- Mysql半同步複製模式說明及配置示例 - 運維小結MySql模式運維
- 如何使用資料庫Scheduler定時刪除歸檔|美創運維日記資料庫運維
- 美創科技榮獲“PostgreSQL中國最佳運維服務商”SQL運維
- PostgreSQL DBA(126) - PG 12(搭建流複製)SQL
- 美創運維日記|SQL Server安裝後,需立即修改的三個引數運維SQLServer
- 簡單搭建MySQL主從複製MySql
- MySQL運維實戰(7)建立複製MySql運維
- MySQL運維2-主從複製MySql運維
- Redis日常運維-02主從複製Redis運維
- 搭建Redis簡易叢集實現主從複製和讀寫分離Redis
- PostgreSQL 13 同步流複製+延遲備庫(#2.5)-202104SQL
- PostgreSQL 13 非同步流複製+failover切換(#2.3)-202104SQL非同步AI
- 【PG流複製】Postgresql流複製主備切換SQL
- PostgreSQL DBA(31) - Backup&Recovery#4(搭建流複製)SQL
- MySQL 8 複製(一)——非同步複製MySql非同步
- MySQL 8 複製(二)——半同步複製MySql
- PostgreSQL 13 非同步流複製+延遲備庫(#2.2)-202103SQL非同步
- MySQL運維實戰(7.1) 開啟GTID複製MySql運維
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- Postgres 流複製配置
- 同步阻塞、同步非阻塞、多路複用的介紹
- 【PG流複製】Postgresql流複製部署過程及效能測試SQL
- mysql 5.7半同步複製MySql
- pg流複製備份
- 2. PostgreSQL 流複製SQL
- MongoDB 搭建複製集MongoDB