真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PostgreSQLpg_rewind實(shí)例--could

一、介紹

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

作為pg_rewind報(bào)錯(cuò)章節(jié)補(bǔ)充一個(gè)用例,說(shuō)明其用法。

二、實(shí)例

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

3、此時(shí)ControlFile_target.checkPoint < divergerec && target的chkptendrec!=divergerec,所以可以進(jìn)行pg_rewind

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

三、小結(jié)

這里pg_rewind執(zhí)行時(shí),判斷不出來(lái)沒(méi)有分叉的情景,即本文的場(chǎng)景。此時(shí)執(zhí)行pg_rewind會(huì)報(bào)錯(cuò),讓用戶還以為WAL文件由損壞導(dǎo)致執(zhí)行pg_rewind失敗。這個(gè)工具如果能夠?qū)⑦@種場(chǎng)景識(shí)別出來(lái),報(bào)不需要rewind是不是更好?

四、pg_rewind原理及報(bào)錯(cuò)流程分析參考

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


文章標(biāo)題:PostgreSQLpg_rewind實(shí)例--could
文章URL:http://weahome.cn/article/jhpspo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部