企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
       PostgreSQL 使用 Commit Log,亦称 clog 来存放事务的状态;clog 存放于 Shared Memory 中,在整个事务处理的生命周期中都起到了重要的作用。PostgreSQL 定义了四种不同的事务状态:IN\_PROGRESS, COMMITTED, ABORTED, 以及 SUB\_COMMITTED。        clog在共享内存中包含一个或多个8KB的页面。clog在逻辑上是一个数组,数组的索引对应于各自的事务id,数组中的每个项都保存着相应事务id的状态。 > 当关闭PG或checkpoint时,clog会被写入pg\_xact目录,文件命名 0000, 0001, 一个文件最大 256 KB; 在启动PG时,会加载clog文件; 在vacuum时,会清理不需要的clog; ![](https://img.kancloud.cn/bf/e9/bfe93fc27ec9d5d16045e016e6d7290d_1025x231.png) * T1:txid 200;txid 200的状态从进行中更改为已提交。 * T2:TXId201中止;txid 201的状态从进行中更改为中止。