下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫(kù) > PostgreSQL數(shù)據(jù)庫(kù)事務(wù)實(shí)現(xiàn)方法分析

          PostgreSQL數(shù)據(jù)庫(kù)事務(wù)實(shí)現(xiàn)方法分析

          時(shí)間:2024-02-28 13:28作者:下載吧人氣:37

          本文實(shí)例講述了PostgreSQL數(shù)據(jù)庫(kù)事務(wù)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

          事務(wù)簡(jiǎn)介

          • 事務(wù)管理器:有限狀態(tài)機(jī)
            • 日志管理器
              • CLOG:事務(wù)的執(zhí)行結(jié)果
              • XLOG:undo/redo日志
            • 鎖管理器:實(shí)現(xiàn)并發(fā)控制,讀階段采用MVCC,寫階段采用鎖控制實(shí)現(xiàn)不同的隔離級(jí)別

          事務(wù)是所有數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)基本概念。 一次事務(wù)的要點(diǎn)就是它把多個(gè)步驟捆綁成了一個(gè)單一的,不成功則成仁的操作。 其它并發(fā)的事務(wù)是看不到在這些步驟之間的中間狀態(tài)的,并且如果發(fā)生了一些問(wèn)題, 導(dǎo)致該事務(wù)無(wú)法完成,那么所有這些步驟都完全不會(huì)影響數(shù)據(jù)庫(kù)。PostgreSQL為每條事務(wù)創(chuàng)建一個(gè)postgre進(jìn)程,并發(fā)執(zhí)行事務(wù)。采用分層的機(jī)制執(zhí)行事務(wù),上層事務(wù)塊和底層事務(wù)。上層事務(wù)塊是用戶眼中的事務(wù),用于控制事務(wù)執(zhí)行的狀態(tài);底層事務(wù)是事務(wù)中的每條語(yǔ)句,可以改變上層事務(wù)塊的狀態(tài)。

          上層事務(wù)塊

          每個(gè)postgre進(jìn)程只有一個(gè)事務(wù)塊,上層事務(wù)塊記錄著本次事務(wù)執(zhí)行過(guò)程中的各個(gè)狀態(tài)。

          typedef enum TBlockState
          {
          /* not-in-transaction-block states */
          TBLOCK_DEFAULT, /* idle */
          TBLOCK_STARTED, /* 執(zhí)行簡(jiǎn)單查詢事務(wù) */
          /* transaction block states */
          TBLOCK_BEGIN, /* 遇見事務(wù)開始BEGIN */
          TBLOCK_INPROGRESS, /* 事務(wù)正在執(zhí)行中 */
          TBLOCK_PARALLEL_INPROGRESS, /* live transaction inside parallel worker */
          TBLOCK_END, /* 遇見事務(wù)結(jié)束COMMIT/END的時(shí)候設(shè)置 */
          TBLOCK_ABORT, /* 事務(wù)出錯(cuò),等待ROLLBACK */
          TBLOCK_ABORT_END, /* 事務(wù)出錯(cuò),收到ROLLBACK */
          TBLOCK_ABORT_PENDING, /* 事務(wù)處理中,接收到ROLLBACK */
          TBLOCK_PREPARE, /* 事務(wù)處理中,收到PREPARE(分布式事務(wù)) */
          /* subtransaction states */
          TBLOCK_SUBBEGIN, /* starting a subtransaction */
          TBLOCK_SUBINPROGRESS, /* live subtransaction */
          TBLOCK_SUBRELEASE, /* RELEASE received */
          TBLOCK_SUBCOMMIT, /* COMMIT received while TBLOCK_SUBINPROGRESS */
          TBLOCK_SUBABORT, /* failed subxact, awaiting ROLLBACK */
          TBLOCK_SUBABORT_END, /* failed subxact, ROLLBACK received */
          TBLOCK_SUBABORT_PENDING, /* live subxact, ROLLBACK received */
          TBLOCK_SUBRESTART, /* live subxact, ROLLBACK TO received */
          TBLOCK_SUBABORT_RESTART /* failed subxact, ROLLBACK TO received */
          } TBlockState;

          標(biāo)簽[db:關(guān)鍵字]

          相關(guān)下載

          查看所有評(píng)論+

          網(wǎng)友評(píng)論

          網(wǎng)友
          您的評(píng)論需要經(jīng)過(guò)審核才能顯示

          熱門閱覽

          最新排行

          公眾號(hào)

          主站蜘蛛池模板: 色噜噜狠狠一区二区| 亚洲一区二区三区免费视频| 一区二区三区在线视频播放| 国产成人精品无码一区二区老年人 | 国产成人亚洲综合一区| 亚洲av无码片vr一区二区三区 | 亚洲一区日韩高清中文字幕亚洲| 一区免费在线观看| 久久99国产精一区二区三区| 一区二区三区观看免费中文视频在线播放 | 日韩一区二区三区无码影院| 波多野结衣AV一区二区三区中文 | 97久久精品无码一区二区天美 | 精品国产不卡一区二区三区 | 午夜DV内射一区二区| 久久久无码精品人妻一区| 国产SUV精品一区二区88L| 国产精品女同一区二区| 国产日产久久高清欧美一区| 中文字幕精品亚洲无线码一区应用| 中文字幕精品一区二区| 国产凹凸在线一区二区| 国产精品一区二区AV麻豆| 无码精品国产一区二区三区免费 | 日韩视频在线观看一区二区| 无码一区二区三区| 成人久久精品一区二区三区| 精品一区二区三区色花堂 | 久久精品国产第一区二区| 高清一区二区三区视频| 久久国产三级无码一区二区| 亚洲一区二区三区无码中文字幕| 国产一区视频在线| 亚洲午夜在线一区| 国产成人高清亚洲一区久久| 精品亚洲一区二区三区在线播放| 一区二区三区电影在线观看| 红杏亚洲影院一区二区三区 | 一区二区三区亚洲视频| 精品日产一区二区三区手机| 亚洲一区二区三区91|