一、CLOG的概念及作用
1、基础概念
(1)CLOG:记录事务号的状态,可以用其判断行的可见性。每个事务状态占用两个bit位。
tip:事务的状态有4种:IN_PROGRESS,COMMITTED,ABORTED和SUB_COMMITTED。
(2)CLOG由一个或多个8KB页组成。CLOG在逻辑上形成一个数组,数组的每个元素对应事务ID号和事务状态;
tip:一个事务占用2个bit位,一个字节可以存放4个事务状态,一个页块可以存放8192*4=32768个事务状态;
(3)当数据库库启动时,这些文件会被加载到内存中。CLOG的信息同样会被记录到Wal日志中,当数据库异常中断时,CLOG的信息会从Wal日志还原;
(4)CLOG先存放在缓存中,当 触发checkpoint时,开始将内缓存的内容刷新到CLOG文件中。
(5)当数据库库关闭库后,CLOG会被写入到 $PGDATA/pg_xact子目录中,文件命名为00000100002…,单个文件最大为256K。

最低0.47元/天 解锁文章
4725

被折叠的 条评论
为什么被折叠?



