当前位置: 首页 > news >正文

河北建设集团在哪个网站采购新能源东莞网站建设技术支持

河北建设集团在哪个网站采购,新能源东莞网站建设技术支持,做网站通常用的软件,网络设计的原理事务提交会通过delayChkpt阻塞checkpoint Postgresql事务在事务提交时#xff08;执行commit的最后阶段#xff09;会通过加锁阻塞checkpoint的执行#xff0c;尽管时间非常短#xff0c;分析为什么需要这样做#xff1a; 首先看提交堆栈 #1 0x0000000000539175 in Co…事务提交会通过delayChkpt阻塞checkpoint Postgresql事务在事务提交时执行commit的最后阶段会通过加锁阻塞checkpoint的执行尽管时间非常短分析为什么需要这样做 首先看提交堆栈 #1 0x0000000000539175 in CommitTransaction () at xact.c:2079 #2 0x0000000000539e04 in CommitTransactionCommand () at xact.c:2824 #3 0x000000000087d1ea in finish_xact_command () at postgres.c:2482 #4 0x000000000087af27 in exec_simple_query (query_string0x24050e0 insert into t1 values (1,1);) at postgres.c:1154函数调用过程 关键函数如下 CommitTransaction...latestXid RecordTransactionCommit();...BufmgrCommit()START_CRIT_SECTION()【关键流程】END_CRIT_SECTION()latestXid TransactionIdLatest(xid, nchildren, children);SyncRepWaitForLSN(XactLastRecEnd, true);return latestXid;...ProcArrayEndTransaction(MyProc, latestXid);...// clean ...关键流程 delayChkpt阻塞checkpoint发生位置 事务提交配置delayChkpt RecordTransactionCommit...START_CRIT_SECTION();MyPgXact-delayChkpt true;/* 写XLOGCOMMIT *//* 写CLOG内存写不刷盘 */MyPgXact-delayChkpt false;...CreateCheckPoint等待delayChkpt 联动CreateCheckPoint会在【2】等在所有Xact的delayChkpt为false才能继续 CreateCheckPoint// 【1】计算位置重要WALInsertLockAcquireExclusive();curInsert XLogBytePosToRecPtr(Insert-CurrBytePos);freespace INSERT_FREESPACE(curInsert);if (freespace 0){if (curInsert % XLogSegSize 0)curInsert SizeOfXLogLongPHD;elsecurInsert SizeOfXLogShortPHD;}checkPoint.redo curInsert;RedoRecPtr XLogCtl-Insert.RedoRecPtr checkPoint.redo;WALInsertLockRelease();// 【2】通过delayChkpt等其他所有正在提交中、正在写日志的事务vxids GetVirtualXIDsDelayingChkpt(nvxids);if (nvxids 0){do{pg_usleep(10000L); /* wait for 10 msec */} while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids));}pfree(vxids);// 【3】刷数据CheckPointGuts(checkPoint.redo, flags);// 【4】记chkpt日志XLogBeginInsert();XLogRegisterData((char *) (checkPoint), sizeof(checkPoint));recptr XLogInsert(RM_XLOG_ID,shutdown ? XLOG_CHECKPOINT_SHUTDOWN :XLOG_CHECKPOINT_ONLINE);XLogFlush(recptr);为什么checkpoint需要等事务提交 确定REDO位点是在createCheckpoint的函数前面执行的checkpoint和事务提交并发会有下面三种情况发生假设没有delayChkpt会有情况二发生 情况一redo point在commit提交前那么如果crash发生了redo过程会覆盖这条xlog不会有问题 情况二如果没有delayChkptredo point可能发生在上图中的位置然后checkpoint刷完数据后当前事务才写clogXLOG已经先写了如果crash发生了redo过程不会覆盖这条xlog而且clog信息不存在那么commit信息彻底丢掉了。 情况三redo point在事务提交后redo时xlog虽然还是做不到但是clog一定会被刷下去所以我们不会丢失事务提交信息。
http://www.w-s-a.com/news/167354/

相关文章:

  • 什么程序做网站收录好企业搭建网站的必要性
  • 建设网站主题建站必须要域名吗
  • 网站建设海报设计购物平台网站建设框架
  • 湖北在线网站建设建一个网站迈年
  • 上班自己花钱做的网站网站首页的动态怎么做
  • 台州网站建设哪家便宜沧州最新消息今天
  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告
  • 网站建设哪家好公司跨境电商展会2023
  • 设计大神云集的网站是南通市 网站设计
  • 心理咨询网站模板企业画册封面设计
  • 做网站 南京网站建设的重难点分析
  • 深圳做网站980移动网站开发语言
  • 网站评论怎么做seo关键词优化方法
  • 市级部门网站建设自评报告网站优化文章怎么做
  • 可不可以异地建设网站学做网站培训班要多少钱
  • 茌平网站建设公司免费的云服务器有哪些
  • 手机网站单页面铜陵网站制作公司
  • 网站logo怎么做才清晰千库网官网首页登录
  • 山西省建设银行网站首页长沙网站建设制作
  • 襄阳市做网站 优帮云百度搜索次数统计
  • 自己做视频直播网站盐城做网站多少钱
  • 买个网站服务器多少钱重庆做的好的房产网站
  • 深圳定制建站网站建设推广关键词怎么设置
  • 宝山网站建设 网站外包修改wordpress版权
  • 建立网站的基本步骤新网站多久会被百度收录
  • 软件设计开发流程图廊坊关键词seo排名方案
  • 南山住房和建设局网站网站被k 多久恢复
  • 阿里买域名 电脑做网站做简历哪个网站好
  • 个人网站免费服务器单页网站的域名