精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PostgreSQL 12 的同步流復(fù)制搭建及主庫Hang問題處理與分析

運維 數(shù)據(jù)庫運維 PostgreSQL
主備流復(fù)制,是PostgreSQL最常用、最簡單的一種高可用、讀寫分離的形式,類似于Oracle的ADG,主庫用于讀寫,備庫可以只讀。

 [[411315]]

本文轉(zhuǎn)載自微信公眾號「數(shù)據(jù)和云」,作者王鑫。轉(zhuǎn)載本文請聯(lián)系數(shù)據(jù)和云公眾號。

前言

主備流復(fù)制,是PostgreSQL最常用、最簡單的一種高可用、讀寫分離的形式,類似于Oracle的ADG,主庫用于讀寫,備庫可以只讀。

PostgreSQL流復(fù)制,有兩種方式,分別是異步流復(fù)制和同步流復(fù)制。

  • 異步流復(fù)制模式中,當(dāng)備庫出現(xiàn)異常,主庫可以正常的進(jìn)行讀寫;
  • 同步流復(fù)制模式中,當(dāng)備庫出現(xiàn)異常,主庫則可能會hang住(DML、DDL)。

這兩天根據(jù)需求,我需要搭建一套同步流復(fù)制庫,但是在過程中遇到了一些小問題,所以記錄下來,作為備忘以及指導(dǎo),幫助大家避坑。

一、基本環(huán)境

本次搭建,我的PostgreSQL基本環(huán)境如下:

  • PostgreSQL版本為12.5;
  • 操作系統(tǒng)為CentOS 7.6;
  • Server: 192.168.18.181:18801
  • Slave: 192.168.18.182:18802

二、同步流復(fù)制搭建

我們知道,搭建PostgreSQL的流復(fù)制核心步驟非常簡單,只需要2-3步:

1. 對源端數(shù)據(jù)庫進(jìn)行基礎(chǔ)備份;

2. 將基礎(chǔ)備份拷貝到目標(biāo)端;

3. 配置備庫參數(shù),并啟動備庫

那么在基礎(chǔ)備份中,我們直接在目標(biāo)端,通過pg_basebackup工具對源端數(shù)據(jù)庫進(jìn)行基礎(chǔ)備份并將數(shù)據(jù)目錄直接放在目標(biāo)端的/pgdata中:

  1. pg_basebackup -h 192.168.18.181 -p 18801 -U repl -l pg_basebackup_`date +%Y%m%d%H%M%S` -Fp -X fetch -P -v -R -D /pgdata 

在PostgreSQL 12中,已經(jīng)沒有recovery.conf文件了,而是用standby.signal文件所代替,且原來需要在recovery.conf文件中配置的primary_conninfo參數(shù),已經(jīng)融合在postgresql.conf中。

所以,此時我們只需要配置主庫和備庫的postgresql.conf,以及備庫的standby.signal即可,具體如下:

備庫的standby.signal中:

  1. standby_mode = 'on' 

主庫的postgresql.conf中:

  1. #同步流復(fù)制 
  2. synchronous_standby_names = 'standbydb1' #同步流復(fù)制才配置該值 
  3. synchronous_commit = 'remote_write' 

備庫的postgresql.conf中:

  1. hot_standby = 'on' 
  2. primary_conninfo = 'application_name=standbydb1 user=repl password=repl123 host=192.168.18.181 port=18801 sslmode=disable sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any' 

配置完成后,直接啟動備庫即可。

  1. pg_ctl -D /pgdata start 

三、發(fā)現(xiàn)問題

通過ps -ef|grep postgres,已經(jīng)可以看到主庫和備庫的walsender和walreciver進(jìn)程都已經(jīng)啟動,流復(fù)制已經(jīng)搭建好。

但是,通過pg_stat_replication進(jìn)行查看,發(fā)現(xiàn)當(dāng)前數(shù)據(jù)庫狀態(tài)仍然還是異步流復(fù)制狀態(tài):

  1. postgres=# select * from pg_stat_replication; 
  2.  
  3. -[ RECORD 2 ]----+------------------------------ 
  4. pid              | 11767 
  5. usesysid         | 24746 
  6. usename          | repl 
  7. application_name | walreceiver 
  8. client_addr      | 192.168.18.182 
  9. client_hostname  |  
  10. client_port      | 29946 
  11. backend_start    | 2021-01-17 22:48:36.529698+08 
  12. backend_xmin     |  
  13. state            | streaming 
  14. sent_lsn         | 0/91000148 
  15. write_lsn        | 0/91000148 
  16. flush_lsn        | 0/91000148 
  17. replay_lsn       | 0/91000148 
  18. write_lag        |  
  19. flush_lag        |  
  20. replay_lag       |  
  21. sync_priority    | 0 
  22. sync_state       | async 
  23. reply_time       | 2021-01-17 22:48:46.545856+08 

且此時,在進(jìn)行DML或者DDL操作的時候,主庫會hang住。

  1. postgres=# insert into wangxin1 values (1,'aaa'); 
  2. ^CCancel request sent 
  3. WARNING:  canceling wait for synchronous replication due to user request 
  4. DETAIL:  The transaction has already committed locally, but might not have been replicated to the standby. 

但是,通過pg_stat_replication及數(shù)據(jù)比對,發(fā)現(xiàn)主庫的wal已經(jīng)全部都寫入到備庫中。

所以,起初我一直以為是因為備庫中的wal或者disk的相關(guān)寫配置參數(shù)有一些問題,并且進(jìn)行了多次修改。

但是始終無法改變備庫的狀態(tài)為同步流復(fù)制(也嘗試多次設(shè)置synchronous_commit參數(shù),但是只有當(dāng)該參數(shù)為local的時候,主庫才不會hang住)。

四、原因分析

經(jīng)過近一天的資料的查詢和官方文檔的搭建標(biāo)準(zhǔn)參數(shù)設(shè)置方法查詢,發(fā)現(xiàn)在網(wǎng)上一些帖子中,需要修改postgresql.auto.conf參數(shù)文件。我們知道,postgresql.auto.conf參數(shù)文件是一個動態(tài)參數(shù)文件,一般我們不會手動去修改它,而是通過數(shù)據(jù)庫中alter system set parameter_name=values的方式來修改該文件中的參數(shù)。

但是,另外一個需要知道的點就是,postgresql.auto.conf的優(yōu)先級要高于postgresql.conf,當(dāng)我們啟動數(shù)據(jù)庫的時候,postgresql會先去postgresql.auto.conf中加載參數(shù),當(dāng)該文件中沒有相應(yīng)的參數(shù)時,則會加載postgresql.conf中的參數(shù)。

所以,此時我進(jìn)入數(shù)據(jù)庫對primary_conninfo參數(shù)進(jìn)行查看:

  1. show primary_conninfo 
  2.  
  3. primary_conninfo | 'user=repl password=repl123 host=192.168.18.181 port=18801 sslmode=disable sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any' 

從數(shù)據(jù)庫中的參數(shù)可以看到,此時primary_conninfo加載的參數(shù),是異步流復(fù)制的參數(shù),而不是我們在postgresql.conf中配置的同步流復(fù)制的參數(shù)。

此時,我們到postgresql.auto.conf中查看:

  1. cat postgresql.auto.conf 
  2.  
  3. # Do not edit this file manually! 
  4. # It will be overwritten by the ALTER SYSTEM command. 
  5. primary_conninfo = 'user=repl password=repl123 host=192.168.18.181 port=18801 sslmode=disable sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any' 

可以看到,在postgresql.auto.conf中有參數(shù)primary_conninfo的設(shè)置,且為異步流復(fù)制的配置參數(shù)。

此時,我們就能理解最開始出現(xiàn)的異常的原因了。

其實,在PostgreSQL中通過pg_basebackup進(jìn)行基礎(chǔ)備份的時候(由于加了-R參數(shù)),默認(rèn)就會在postgresql.auto.conf文件中加入primary_conninfo參數(shù),且該參數(shù)為異步流復(fù)制的參數(shù)(其實我們可以不用在postgresql.conf中配置primary_conninfo參數(shù)了)。

但是,該文件中只有primary_conninfo參數(shù),當(dāng)我們想要將流復(fù)制搭建為同步的方式的時候,必須配置兩個參數(shù):synchronous_standby_names和synchronous_commit。當(dāng)我們在postgresql.conf中設(shè)置這兩個參數(shù)后,由于postgresql.auto.conf中沒有,所以只能到這里取。

此時數(shù)據(jù)庫在進(jìn)行DML和DDL操作的時候,則會等待備庫的響應(yīng),但備庫又為異步流復(fù)制,所以不會給主庫回復(fù)wal已經(jīng)接收到或者寫入磁盤。因此,主庫會一直hang住。

五、解決方案

解決該問題,則有以下幾個方式:

1. 在備庫上通過命令:

  1. alter system set primary_conninfo = 'application_name=standbydb1 user=repl password=repl123 host=192.168.18.181 port=18801 sslmode=disable sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any'

設(shè)置postgresql.auto.conf中primary_conninfo參數(shù),并重啟備庫即可。

2. 手動修改postgresql.auto.conf文件,將primary_conninfo參數(shù)手動改為同步流復(fù)制參數(shù),并重啟備庫。

3. 備庫上通過命令:

  1. alter system set primary_conninfo = default

清空postgresql.auto.conf中primary_conninfo參數(shù)的配置,并重啟備庫,讓數(shù)據(jù)庫識別postgresql.conf文件中的參數(shù)。

4. 手動刪除postgresql.auto.conf文件,將primary_conninfo參數(shù)手動刪除或者注釋,并重啟備庫,讓數(shù)據(jù)庫識別postgresql.conf文件中的參數(shù)。

搞定!

 

責(zé)任編輯:武曉燕 來源: 數(shù)據(jù)和云
相關(guān)推薦

2022-01-10 07:59:14

PostgreSQl 主從流復(fù)制歸檔配置

2023-03-19 11:53:27

2021-07-07 21:07:16

PostgreSQL架構(gòu)容災(zāi)庫

2010-06-07 15:25:06

rsync重啟

2019-11-24 19:17:06

MySQL異步復(fù)制全同步復(fù)制

2017-06-23 11:17:24

MySQL搭建配置

2017-06-26 08:28:41

PostgreSQL數(shù)據(jù)庫單機(jī)

2022-01-07 07:53:14

部署用戶管理

2012-12-27 15:44:21

2019-10-17 09:05:21

MySQL數(shù)據(jù)庫高可用

2014-03-26 11:15:26

Hive

2023-03-19 22:38:12

邏輯復(fù)制PostgreSQL

2013-04-02 10:13:35

Git服務(wù)器系統(tǒng)GitHub

2011-05-17 10:10:15

MySQLmysqld

2012-07-30 08:31:08

Storm數(shù)據(jù)流

2015-08-19 14:11:56

SQL Server錯誤處理

2010-04-28 11:19:04

Oracle高級復(fù)制

2010-10-20 14:27:09

SQL Server同

2019-01-17 09:04:01

PostgreSQL復(fù)制Redo

2009-07-28 11:32:41

光纖鏈路故障
點贊
收藏

51CTO技術(shù)棧公眾號

欧美丝袜丝交足nylons172| 阿v免费在线观看| 亚洲日韩成人| 国产一区二区三区视频| 日本三级黄色网址| 蜜臀av在线| 国产日韩精品一区| av在线不卡一区| 久久亚洲天堂网| 久久激情电影| 亚洲国产精品悠悠久久琪琪| 欧美一级黄色影院| 在线免费观看污| 国产亚洲婷婷免费| 成人三级视频在线观看一区二区| 日韩在线视频不卡| 国内激情久久| 色综久久综合桃花网| 少妇被狂c下部羞羞漫画| 91精品美女| 五月婷婷色综合| 99热都是精品| 日本中文字幕伦在线观看| 97久久精品人人做人人爽50路| 国产欧美日韩中文| 日韩精品在线观看免费| 欧美韩国一区| 久久九九全国免费精品观看| 9.1成人看片免费版| 亚洲2区在线| 在线播放亚洲一区| 日韩中文字幕视频在线| 国产精品久久中文| 久久久久99精品成人片毛片| 日韩精品午夜| 亚洲欧美日韩国产中文专区| 一区二区免费在线观看视频| 日本少妇精品亚洲第一区| 欧美日韩精品福利| 手机看片福利盒子久久| 在线天堂新版最新版在线8| 亚洲一线二线三线久久久| 99亚洲精品视频| 成全电影播放在线观看国语| 91麻豆成人久久精品二区三区| 99国产视频在线| 国产成人a人亚洲精品无码| 美女一区二区视频| 国产区精品在线观看| 欧美成人一区二区视频| 日韩国产精品91| 国产精品久久久久久久久免费 | 蜜桃视频在线观看视频| 91免费版在线| 久热这里只精品99re8久| 污视频软件在线观看| 不卡欧美aaaaa| 国产在线精品日韩| 亚洲欧美日韩精品永久在线| 不卡大黄网站免费看| 国产精品手机在线| 外国精品视频在线观看| 久久综合色婷婷| 欧美日韩一区二区三| 男女网站在线观看| 欧美激情中文字幕一区二区| 日韩免费三级| 亚洲欧美激情一区二区三区| 国产日产精品一区二区三区| 亚洲人体大胆视频| 69久久夜色精品国产7777| 可以免费看的av毛片| 欧美亚洲视频| 国产精品永久在线| 国产精品一区二区人人爽| 国产麻豆视频一区| 好吊妞www.84com只有这里才有精品| 无码国产精品一区二区免费16| 久久这里只有精品首页| 亚洲精品乱码视频| 午夜羞羞小视频在线观看| 亚洲福利国产精品| 日本成人黄色网| 亚洲国产伊人| 亚洲国产日韩一区| 夫妇交换中文字幕| 你懂的国产精品| 97**国产露脸精品国产| 中文字幕在线视频免费| 国产成人综合在线| 欧美日韩精品不卡| 国产高清一区二区三区视频| 疯狂蹂躏欧美一区二区精品| 日韩一级理论片| 一区二区三区欧洲区| 亚洲精品成人久久电影| 萌白酱视频在线| 在线观看视频日韩| 国产精品无码专区在线观看| 午夜久久久久久久久久| 国产日韩欧美一区二区三区乱码| 日本女人高潮视频| 免费v片在线观看| 在线不卡中文字幕| 青青草福利视频| 欧美在线三级| 欧美最猛性xxxx| 99热这里是精品| 97久久超碰国产精品| 综合网五月天| 精品日韩视频| 亚洲国产精品电影| 久久国产美女视频| 日本成人中文字幕在线视频| 国产成人女人毛片视频在线| av在线免费一区| 精品久久在线播放| 性xxxxxxxxx| 欧美韩日一区| 国产成人极品视频| 青青视频在线观| 亚洲高清视频的网址| 想看黄色一级片| 日韩中文字幕高清在线观看| 日韩av手机在线观看| 国产成人无码www免费视频播放| 国产精品美女久久久久久| 国产a级一级片| 麻豆精品99| 欧美激情视频网址| 国产高清免费av| 亚洲欧洲精品天堂一级| 色国产在线视频| 欧美少妇xxxx| 国产精品欧美一区二区三区奶水| 欧美成人免费| 色中色一区二区| 在线免费观看成年人视频| 亚洲美女一区| 狠狠色噜噜狠狠色综合久| 97国产超碰| 国精产品一品二品国精品69xx| 国产精品不卡一区| 国产成人黄色网址| 色135综合网| 国产美女精彩久久| 69久久夜色| 欧美三级电影网站| 男人av资源站| 精品一区二区三区日韩| 国产高潮呻吟久久久| 亚洲综合资源| 欧美成人在线影院| 国产肥老妇视频| 亚洲制服丝袜一区| 日韩综合第一页| 国产精品毛片| 日本精品一区二区三区不卡无字幕| 男人皇宫亚洲男人2020| 亚洲精品网址在线观看| 亚洲无码精品一区二区三区| 中文字幕成人网| 日本国产一级片| 欧美日本一区二区高清播放视频| 国产二区不卡| 松下纱荣子在线观看| 国产亚洲欧洲高清一区| 日韩乱码一区二区三区| 中文字幕在线不卡一区二区三区 | 国产在线视频第一页| 99久久国产免费看| 亚洲性生活网站| 羞羞答答成人影院www| 国产精品国模大尺度私拍| 亚洲黄色中文字幕| 中文字幕国产亚洲| 在线成人精品视频| 欧美日韩午夜| 欧美精品成人一区二区在线观看| 亚洲精品一区三区三区在线观看| 久久精品视频导航| 日韩性xxxx| 欧美系列日韩一区| 久久一级黄色片| 久久这里只精品最新地址| 麻豆三级在线观看| 国自产拍偷拍福利精品免费一 | 91亚洲一区| 国产不卡一区二区在线观看 | 久久99精品国产99久久| 欧美一级做一级爱a做片性| 欧美精品久久久久久久免费观看 | 中文字幕 日韩 欧美| 国内激情久久| 亚洲精品高清国产一线久久| 亚洲高清在线一区| 日韩美女视频免费在线观看| 黄色网址在线免费| 精品亚洲一区二区三区在线观看 | 国产一区二区在线视频| 国产美女无遮挡网站| 亚洲最新av| 日本一区二区三区www| 深夜福利一区| 国产精品入口日韩视频大尺度| xxxx视频在线| 久久手机免费视频| 国产成人天天5g影院在线观看| 日韩欧美区一区二| 中文字幕在线观看1| 欧美性xxxxxx| 精品少妇久久久| 亚洲天堂av一区| 少妇久久久久久久久久| 成人免费av在线| 国产传媒免费观看| 蜜桃视频在线观看一区| 欧美日韩中文在线视频| 亚洲无吗在线| 337p亚洲精品色噜噜狠狠p| 大片网站久久| 视频一区国产精品| 久久av超碰| 久久99精品久久久久久水蜜桃| 麻豆精品在线| 91久久久久久| 色综合视频一区二区三区44| 国产精品成熟老女人| 电影网一区二区| 欧美又大又硬又粗bbbbb| missav|免费高清av在线看| 欧美成人激情在线| 超碰在线观看免费版| 久久精品亚洲94久久精品| 草碰在线视频| 综合国产在线观看| 18免费在线视频| 色七七影院综合| youjizz在线播放| 国产一区二区动漫| 超碰免费在线| 一区二区三区四区在线观看视频| 极品白浆推特女神在线观看| 亚洲人午夜色婷婷| 韩国免费在线视频| 亚洲偷欧美偷国内偷| 大地资源中文在线观看免费版| 亚洲天堂一区二区三区| 精彩国产在线| 日韩最新免费不卡| 黄色网在线免费观看| 美女精品视频一区| 青草影视电视剧免费播放在线观看| 九九视频这里只有精品| 成人超碰在线| 欧美亚洲视频在线观看| 三级成人在线| 国产在线不卡精品| 清纯唯美激情亚洲| 精品乱码一区二区三区| 国产精品美女久久久久久不卡 | 久久婷婷开心| 神马久久一区二区三区| 亚洲春色在线视频| 香港欧美日韩三级黄色一级电影网站| 国产四区在线观看| 亚洲黄色成人| 最近免费中文字幕中文高清百度| 在线播放第一页| 免费成人美女在线观看.| 中文字幕日韩久久| 99久久伊人精品| av手机在线播放| 亚洲三级久久久| 国产精品一区二区6| 在线观看视频欧美| 国产情侣av在线| 日韩精品黄色网| 日本欧美在线视频免费观看| 国产69精品久久久久99| 欧美成a人片在线观看久| 91精品视频在线看| 五月天亚洲一区| 亚洲一区二区在线免费观看| 亚洲二区精品| 日本人视频jizz页码69| 成人深夜视频在线观看| 无码少妇一区二区| 亚洲一卡二卡三卡四卡无卡久久| 6080午夜伦理| 日韩视频一区二区| 国产在线自天天| 欧美日韩国产成人高清视频| 欧美极度另类| 9a蜜桃久久久久久免费| 狠狠色狠狠色综合婷婷tag| 无码熟妇人妻av在线电影| 青青草97国产精品免费观看| 精品无码av一区二区三区不卡| 久久久国产精品麻豆| 九九热这里有精品视频| 在线精品视频小说1| 男人的天堂a在线| 久久精品久久久久电影| 欧美电影免费观看网站| 国产成人精品福利一区二区三区 | 大j8黑人w巨大888a片| 精品亚洲国产成人av制服丝袜| a视频免费观看| 亚洲资源中文字幕| 国产男男gay体育生白袜| 夜夜嗨av色综合久久久综合网| 激情网站在线| 亚洲va男人天堂| 青青草国产免费一区二区下载 | 国偷自产一区二区免费视频| av噜噜色噜噜久久| 外国成人免费视频| 538在线视频观看| 久久蜜桃一区二区| 日本最新中文字幕| 精品奇米国产一区二区三区| 日本免费在线视频| 国产精品无码专区在线观看| 国产欧美一区二区三区精品观看| 日本中文字幕网址| 成人综合婷婷国产精品久久免费| 免费精品在线视频| 欧美三级电影网| 成年人视频网站在线| 国产成人啪精品视频免费网| 日韩一级电影| 国产97在线 | 亚洲| av不卡免费在线观看| 日本一区二区欧美| 亚洲国产精品va在线看黑人| 7777kkk亚洲综合欧美网站| 不卡日韩av| 狠狠入ady亚洲精品| 国产xxx在线观看| 亚洲一区二区三区中文字幕在线| 国产高清视频免费| 久久久视频精品| 久久久久观看| 中国丰满人妻videoshd| 91视频91自| 成人午夜精品视频| 国产一区二区三区丝袜| 国产精品原创视频| 一本久道久久综合| 狠狠色综合日日| 九九热精品免费视频| 精品区一区二区| 中文字幕影音在线| 天堂va久久久噜噜噜久久va| 美女性感视频久久| 欧美日韩在线国产| 欧美tickling挠脚心丨vk| 激情网站在线| 欧美日本亚洲| 美女www一区二区| 九九视频免费在线观看| 亚洲国产99精品国自产| 亚洲欧美一区二区三区| 神马影院午夜我不卡影院| 久久av老司机精品网站导航| 欧美日韩精品一区二区三区视频播放 | 视频在线一区| 妞干网在线观看视频| www欧美成人18+| 中文字幕在线观看视频一区| 欧美成人免费视频| 欧美电影在线观看完整版| 99福利在线观看| 国产精品乱码一区二三区小蝌蚪| 国产视频aaa| 69国产精品成人在线播放| 视频一区欧美| 黄色aaaaaa| 欧美日韩另类视频| 日本不卡不卡| 国产亚洲第一区| 美女视频免费一区| 国产一级一片免费播放放a| 亚洲欧美日韩精品| 日韩三级久久| 九色porny91| 亚洲国产中文字幕| 国产高清免费av在线| 91九色对白| 免费观看在线综合| 久久久无码精品亚洲国产| 亚洲无线码在线一区观看| 久久久久亚洲精品中文字幕| wwwxxx黄色片| 亚洲一区二区三区精品在线| 青青操视频在线播放| 成人av免费在线观看| 国语对白做受69按摩| 欧美精品videofree1080p|