PostgreSQLxlog格式之nobackupfullpage-创新互联

heap_insert xl_heap_insert xlrec; xl_heap_header xlhdr; XLogRegisterData((char *) &xlrec, SizeOfHeapInsert);->//xl_heap_insert |-- XLogRecData *rdata; | rdata->data = data; | rdata->len = len; | mainrdata_last->next = rdata; | mainrdata_last = rdata; |-- mainrdata_len += len; //xl_heap_header+heapup->t_data XLogRegisterBufData(0, (char *) &xlhdr, SizeOfHeapHeader);-> |-- regbuf = ®istered_buffers[block_id]; | rdata->data = data; | rdata->len = len; | regbuf->rdata_tail->next = rdata; | regbuf->rdata_tail = rdata; |-- regbuf->rdata_len += len; XLogRegisterBufData(0,(char *) heaptup->t_data + SizeofHeapTupleHeader,heaptup->t_len - SizeofHeapTupleHeader); recptr = XLogInsert(RM_HEAP_ID, info);-> |-- rdt = XLogRecordAssemble(rmid, info, RedoRecPtr, doPageWrites,&fpw_lsn); |-- EndPos = XLogInsertRecord(rdt, fpw_lsn, curinsert_flags); static XLogRecData hdr_rdt; XLogRecordAssemble: char    *scratch = hdr_scratch;//hdr_scratch是一个xlog记录的开始位置 rechdr = (XLogRecord *) scratch; scratch += SizeOfXLogRecord; hdr_rdt.next = NULL; rdt_datas_last = &hdr_rdt;//xlog记录链表头 hdr_rdt.data = hdr_scratch; //hdr_rdt->next=xl_heap_header+heapup->t_data registered_buffer *regbuf = ®istered_buffers[block_id]; rdt_datas_last->next = regbuf->rdata_head; dt_datas_last = regbuf->rdata_tail; //xl_heap_header+heapup->t_data后面紧跟着xl_heap_insert rdt_datas_last->next = mainrdata_head; rdt_datas_last = mainrdata_last;

PostgreSQL xlog格式之no backup full page

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、启东网站维护、网站推广。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:PostgreSQLxlog格式之nobackupfullpage-创新互联
网站URL:http://pwwzsj.com/article/csiecs.html