如何運(yùn)用StartupXLOG函數(shù)恢復(fù)讀取WAL?
1、崩潰恢復(fù)和備機(jī)回放都是StartupXLOG函數(shù)進(jìn)行處理,從pgcontrol文件中讀取checkpoint位置,從這個(gè)位置開始讀取WAL記錄進(jìn)行回放。
2、讀取一個(gè)WAL記錄的函數(shù)是ReadRecord,讀取會(huì)后,根據(jù)類型進(jìn)行回放;然后循環(huán)調(diào)用這個(gè)函數(shù)讀取下一個(gè)WAL記錄。
3、ReadRecord調(diào)用函數(shù)XLogReadRecord讀取下一個(gè)WAL記錄,若請(qǐng)求的記錄不在當(dāng)前頁(yè)中,則需要讀取一頁(yè)到內(nèi)存。如果讀取的record為NULL,且是備機(jī)則切換日志源,從下一個(gè)日志源讀取WAL
4、讀取WAL的函數(shù)ReadPageInternal->XLogPageRead,日志源為流復(fù)制則根據(jù)條件判斷讀入的長(zhǎng)度,否則為1頁(yè)大小,但真正進(jìn)行read的時(shí)候是以頁(yè)為單位的。這里應(yīng)該是讀取的真實(shí)日志量。
5、日志讀入內(nèi)存的XLogReaderState->readBuf中,這個(gè)大小為8KB即一頁(yè)大小。XLogReaderState->readLen為讀入的日志量,有可能比8KB小
6、若下個(gè)WAL記錄在下一頁(yè),需要跳過(guò)頁(yè)頭信息,否則為state->EndRecPtr即當(dāng)前已讀取的WAL記錄末尾+1,即下一個(gè)WAL記錄頭
7、請(qǐng)求的大小為Min(targetRecOff + SizeOfXLogRecord, XLOG_BLCKSZ),即targetRecOff為WAL記錄頁(yè)內(nèi)偏移,加上SizeOfXLogRecord即WAL記錄頭,即ReadPageInternal的reqLen長(zhǎng)度最大才為一頁(yè)大小。所以判斷請(qǐng)求的WAL是否還在當(dāng)前readBuf中條件:
if (targetSegNo == state->readSegNo && targetPageOff == state->readOff && reqLen <= state->readLen)

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車研發(fā)中心重磅落地,寶馬家門口“搶人”
最新活動(dòng)更多
-
即日-9.1立即下載>> 【限時(shí)下載】ADI中國(guó)三十周年感恩回饋助力企業(yè)升級(jí)!
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 3 宇樹機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 5 特朗普要求英特爾首位華人 CEO 辭職
- 6 踢館大廠和微軟,剖析WPS靈犀的AI實(shí)用主義
- 7 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長(zhǎng)曲線
- 8 谷歌吹響AI沖鋒號(hào),AI還有哪些機(jī)會(huì)
- 9 蘋果把身家押在Siri上:一場(chǎng)輸不起的自我革命
- 10 共探合作新機(jī)遇!江門市新會(huì)區(qū)(深圳)“AI + 機(jī)器人” 產(chǎn)業(yè)對(duì)接會(huì)成功舉辦