当前位置: hlflowers->考试 > PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理

PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理

2023-07-21作者:hlflowers来源:www.hlflowers.com

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

第22讲:CLOG作用与管理

内容1: PostgreSQL CLOG概述

内容2: CLOG作用与管理

内容3: 诊断当前用到的CLOG块

内容4: 删除不需要的CLOG文件


CLOG概述

CLOG用来记录事务号的状态,主要是用来判断行的可见性。每个事务状态占用两个bit位。事务的状态有4种:IN PROGRESS,COMMITTED,ABORTED和SUB_COMMITTED。CLOG由一个或多个8KB页组成。CLOG在逻辑上形成一个数组,数组的每个元素对应事务ID号和事务状态。

一个事务占用2个bit位,一个字节可以存放4个事务状态,一个页块可以存放8192*4=32768个事务状态。

当数据库库启动时,这些文件会被加载到内存中。CLOG的信息同样会被记录到wal日志中,当数据库异常中断时,CLOG的信息会从wal日志还原。

CLOG存放在缓存中,当checkpoint时开始刷新到CLOG文件中。当数据库库关闭库后,CLOG会被写入到$PGDATA/pg_xact子目录中,文件命名为0000,0001,00002......,单个文件最大为256K。


Commit Log

· CLOG工作方式

· CLOG如何维护

数据库正常关闭或者检查点发生时,clog数据写入pg_xact目录下的文件中

命名习惯:0000 0001 ……

数据库启动时从pg_xact文件中加载数据

由Vacuum 进程定期处理


诊断当前用到的CLOG块

· 计算当前使用的CLOG数据块位置

一个事务占用2个bit位,一个字节可以存放4个事务状态,一个页块可以存放8192*4=32768个事务状态。

1、查看当前的TXID号

SELECT txid_current();

txid_current

--------------

623

2、计算记录在哪个CLOG块中

select 623/(8192*4) block;

block

-------

0


删除不需要的CLOG文件

· 删除CLOG文件

当发生急性冻结时会更新pg_database.datfrozenxid的值,此时,如果某些CLOG文件不包含包含最小pg_database.datfrozenxid以及之前的信息,会尝试删除不必要的clog文件。因为这些CLOG文件中记录的事务所修改的行已经被冻结,那么在进行行可见性规则判断时就不需要获得该事务的状态。

以上就是【PostgreSQL从小白到专家】第22讲 - "CLOG作用与管理" 的内容,欢迎一起探讨交流,钉钉交流群:35822460,会有专门的视频讲解这一部分内容,往期视频及文档,联系CUUG

  • PostgreSQL技术大讲堂 - 第47讲:JMETER工具使用
  • PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
  • PostgreSQL技术大讲堂 - 第50讲:PG分区表管理
  • 5月25日,温州大学49名学生参加工信人才PostgreSQL认证考试!
  • 5月30日,PG中级证书来了!工信人才PostgreSQL管理员认证证书!
  • 6月1日,汇华学院12名学生参加工信人才PostgreSQL认证考试!
  • PG技术大讲堂 - 第55讲:通义大模型+向量数据库实现AI的外脑
  • PostgreSQL技术大讲堂 - 第53讲:老陈与德哥开讲PostgreSQL 17新特性
  • PostgreSQL技术大讲堂 - 第54讲:如何在上线前精准评估PG SQL性能
  • PostgreSQL技术大讲堂 - 第52讲:与德哥背后的男人们聊如何实现自动性能调优
  • PostgreSQL技术大讲堂 - 第51讲:老陈与德哥聊一聊数据库调优
  • 5月16日,开源驱动教育创新研讨会(青岛站)成功举办-CUUG
  • 5月17日,PolarDB开源数据库沙龙(青岛站)成功举办-CUUG
  • 有大奖!第13届PostgreSQL中国技术大会:聚焦云端创新,汇聚智慧共享
  • PolarDB开源社区走进金蝶,开源数据库沙龙成功举办!
  • 阿里云PolarDB再获顶会SIGMOD最佳论文奖
  • 阿里云斩获国际数据库顶会ICDE 2024最佳论文
  • 腾讯云数据库TDSQL荣获深圳市科技进步奖一等奖
  • PostgreSQL技术大讲堂 - 第56讲:老陈与德哥聊“数据库孤儿文件”
  • 7月8日,恭喜CUUG 张同学通过19c OCM认证考试,成绩公布!
  • Oracle OCP证书还有用吗 含金量有多高
  • 腾讯云认证级别名称TCA、TCP、TCE升级为TCCA、TCCP、TCCE
  • 怎么报考腾讯云TDSQL数据库工程师认证(TCCA、TCCP、TCCE)
  • PostgreSQL PG夜话(第20期):数据库老陈、德哥、快立方华总,聊一聊数据库内存管理
  • PostgreSQL从入门到精通教程,这样学习postgres
  • PostgreSQL数据库,为什么会异军突起?
  • PostgreSQL中国技术大会 CUUG获得PostgreSQL数据库认证与培训合作伙伴
  • 不懂就问:什么是PostgreSQL数据库管理员认证
  • 是时候解锁一下“PostgreSQL数据库认证专家”了
  • OCP认证没有含金量了?来看看Oracle OCP 证书的用处!
  • Oracle OCM证书还值得考吗?哪些人需要考OCM
  • Oracle 数据库认证,数据库领域的金字招牌
  • 2024-02-02,恭喜CUUG 刘同学通过Oracle考试获得OCP 19c证书
  • OCP认证能不能在家中考试,不去VUE考点考试吗?
  • 恭喜CUUG Guo同学以较高分数通过19c OCM认证考试!
  • 3月30日,工信部人才交流中心PostgreSQL认证考试顺利结束
  • 2024年4月8日,工信人才发布红头文件:PostgreSQL数据库管理人才研修与评测班
  • 恭喜CUUG入选2024年工业和信息化重点领域人才能力评价支撑机构
  • 天津职业技术师范大学《PolarDB开源数据库工作室》授牌仪式顺利完成
  • 温州大学国产开源数据库工作室成功举办PostgreSQL技能培训活动
  • Oracle数据库加入AI功能,Database 23c改名为Database 23ai
  • Oracle OCP认证还值得考吗 考OCP证书需要门槛吗
  • 今天(5月6日),CUUG 赵同学收到19c OCM认证考试证书!
  • oracle ocp证书有效期多长时间
  • PostgreSQL技术大讲堂 - 第57讲:老陈与德哥聊“数据库安全”
  • PostgreSQL技术大讲堂 - 第58讲:老陈与德哥聊“txid从32位变成64位的影响与调整”
  • 报名啦!第13届PostgreSQL中国技术大会,”聚焦云端创新 汇聚智慧共享“
  • 汇华学院PG证书来了!工信人才&CUUG PostgreSQL管理员认证!
  • 温州大学PG证书来了!工信人才PostgreSQL管理员认证证书!
  • ocm认证考试费用多少钱,Oracle OCM考几科