当前位置: fuhua-pet->认证 > PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理

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

2023-07-21作者:firstyuding来源:www.firstyuding.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

  • 2024到2025年,国家对发展信创产业的支持有哪些方面
  • 2025年3月28日PostgreSQL认证纸质版证书!
  • 2025年3月28日李同学PGCP认证纸质证书
  • 2025年3月28日李同学PostgreSQL中级认证证书
  • 2025年3月28日乔同学PostgreSQL管理员中级认证
  • 2025年3月28日孙同学PGCP管理员中级认证
  • 2025年3月28日夏同学PostgreSQL认证纸质证书
  • 2025年3月28日徐同学PG管理员认证中级证书
  • 2025年3月28日徐同学PostgreSQL中级认证纸质证书
  • 2025年3月28日周同学PostgreSQL高级证书
  • PostgreSQL技术大讲堂 - 第82讲,主题:数据安全利器--密码安全策略构建
  • PostgreSQL技术大讲堂 - 第83讲,数据安全利器--密码安全策略构建二
  • PostgreSQL技术大讲堂 - 第84讲:重讲PostgreSQL流复制部署
  • PostgreSQL技术大讲堂 - 第85讲:重讲pg流复制管理利器repmgr应用实践
  • PostgreSQL技术大讲堂 - 第86讲:数据安全之--data_checksums天使与魔鬼
  • PostgreSQL考试认证中心收费标准
  • PostgreSQL与Oracle数据库相比有什么优势
  • 2025年3月28日杜同学PGCM高级认证证书
  • 官网查询,2025年3月份PostgreSQL认证电子版证书!
  • 去IOE为什么用PostgreSQL替代Oracle数据库
  • 信创产业选择PostgreSQL数据库为作突破口的原因
  • 中国PostgreSQL考试认证体系
  • PostgreSQL技术大讲堂 - 第87讲:重讲系统安全和数据库安全
  • PostgreSQL认证培训推荐机构
  • Oracle OCM证书有效期3年?这是个假消息
  • Oracle OCP证书有效期3年?与官方人员确认这是个假消息
  • 2025年4月中国数据库流行度排行榜:OceanBase超过PolarDB登顶
  • Apache Doris数据库
  • 2025年3月22日,CUUG张同学获得MySQL8.0认证证书
  • Linux下搭建本地deepseek(附文档下载)
  • 加新题了,MySQL 8.0 OCP 认证考试 题库更新
  • 2月22日,工信部人才交流中心 & CUUG - PGCP-PGCM认证考试完成!
  • 考OCP认证要交哪些费用
  • Oracle OCP认证没落了吗
  • openGauss数据库
  • PingCAP TiDB数据库
  • TDengine时序数据库
  • 阿里云AnalyticDB云原生数据仓库
  • 阿里云云原生数据库PolarDB
  • 奥星贝斯OceanBase数据库
  • 达梦数据库管理系统DM8
  • 电科金仓KingbaseES数据库管理系统
  • 华为GaussDB云数据库
  • 金篆信科GoldenDB数据库
  • 浪潮KaiwuDB数据库
  • 南大通用GBASE数据库
  • 腾讯云分布式数据库TDSQL
  • 羲和 (Halo) 数据库
  • 崖山 (YashanDB) 数据库
  • 亚信安慧AntDB数据库