欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PostgreSQLpg_rewind實例--could

一、介紹

我們提供的服務有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、石屏ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的石屏網(wǎng)站制作公司

作為pg_rewind報錯章節(jié)補充一個用例,說明其用法。

二、實例

1、history文件

--新主
$ cat 00000004.history
1    0/140000C8    no recovery target specified
2    0/19000060    no recovery target specified
3    0/1F000090    no recovery target specified

--老主
$ cat 00000003.history
1    0/140000C8    no recovery target specified
2    0/19000060    no recovery target specified

2、查找分叉點
PostgreSQL pg_rewind實例--could
說明:findCommonAncestorTimeline:
? 1)比較sourceHistory[0]、targetHistory[0]的時間線和begin的值,可以得出兩者相等,則轉(zhuǎn)到第2個條目的比較
? 2)比較sourceHistory[1]、targetHistory[1]的時間線和begin的值,可以得出兩者相等,則轉(zhuǎn)到第3個條目的比較
? 3)比較sourceHistory[2]、targetHistory[2]的時間線和begin的值,可以得出兩者相等,此時比較結(jié)束
? 4)取第3個條目進行返回:MinXLogRecPtr(sourceHistory[i].end, targetHistory[i].end),此時返回的是sourceHistory[i].end的值作為分叉點,即 0/1F000090

3、此時ControlFile_target.checkPoint < divergerec && target的chkptendrec!=divergerec,所以可以進行pg_rewind

4、findLastCheckpoint查找分叉點divergerec之前最近的checkpoint作為rewind起點。
? 1)首先需要定位到分叉點divergerec開始的記錄,然后根據(jù)該記錄的xl_prev指針定位前一個wal記錄
? 2)判斷第1)步得到的wal記錄是否是checkpoint,如果不是則重新返回到第1),直到找到checkpoint點
? 3)這里就有個問題,如果得到的分叉點正好是老主結(jié)束位置,即本例:1F000090為分叉點,實際上是老主和新主沒有發(fā)生數(shù)據(jù)分叉,可以認為是沒有作為備沒有接收完新主數(shù)據(jù)呢
? 4)target從1F000090這個位置開始獲取prev指針向前找checkpoint時,因為這個位置后都是0了,所以不能繼續(xù)向下遍歷找了,報錯:could not find previous WAL record at %X/%X

三、小結(jié)

這里pg_rewind執(zhí)行時,判斷不出來沒有分叉的情景,即本文的場景。此時執(zhí)行pg_rewind會報錯,讓用戶還以為WAL文件由損壞導致執(zhí)行pg_rewind失敗。這個工具如果能夠?qū)⑦@種場景識別出來,報不需要rewind是不是更好?

四、pg_rewind原理及報錯流程分析參考

https://blog.51cto.com/yanzongshuai/2368285
https://blog.51cto.com/yanzongshuai/2334303

標題名稱:PostgreSQLpg_rewind實例--could
文章鏈接:http://chinadenli.net/article30/jhpspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃移動網(wǎng)站建設(shè)電子商務網(wǎng)站排名響應式網(wǎng)站外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站