当前位置: gth163->优技培训 > PG技术大讲堂 - 第12讲:PostgreSQL wal作用与管理

PG技术大讲堂 - 第12讲:PostgreSQL wal作用与管理

2023-03-30作者:gth163来源:www.gth163.com

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

Part 12:PostgreSQL WAL作用与管理

内容1:WAL物理与逻辑结构

内容2:WAL数据内部布局

内容3:WAL数据写进程

内容4:WAL管理

内容5:WAL归档日志


WAL概述

· 没有WAL的插入操作

· 有WAL的插入操作

· Insert操作与recovery

· 使用WAL进行数据库恢复

事务日志与WAL文件

· 事务日志与WAL 段文件

使用内置函数pg_xlogfile_name(9.6或更早版本)或pg_walfile_name(10或更高版本),我们可以找到包含指定LSN的WAL段文件名。



WAL日志内部布局

· WAL内部布局

· 三类XLOG 数据部分记录 (version 9.5 or later)


写XLOG记录

· 写XLOG记录


WAL写处理

· WAL 写进程

1、At commit

2、When wal buffer full

3、writes periodically



写XLOG记录

· Checkpoint 处理概述


pg_control File

· pg_control File30

即使pg_控制文件存储超过40个项目,需要的三个项目如下所示:

State –最新检查点启动时数据库服务器的状态。总共有七种状态:“启动”是系统正在启动的状态;“关闭”是系统通过shut down命令正常关闭的状态;“生产中”是系统正在运行的状态;依此类推。

Latest checkpoint location –最新检查点记录的LSN位置。

Prior checkpoint location –先前检查点记录的LSN位置。

· 9.7.2. pg_control File

pg_control文件存储位置:

postgres> pg_controldata /usr/local/pgsql/data

pg_control version number: 937

Catalog version number: 201405111

Database system identifier: 6035535450242021944

Database cluster state: in production

pg_control last modified: Mon Apr 27 15:16:38 2020

Latest checkpoint location: 0/C000F48

Prior checkpoint location: 0/C000E70

... snip ...


Database Recovery

· 数据库实例恢复开始位置( 检查点)

· 数据库WAL日志记录

· 利用wal进行数据库恢复


WAL 文件管理

· WAL 日志切换

WAL 满足以下条件发生日志切换:

1、WAL segment has been filled up. 

2、The function pg_switch_wal has been issued.

3、archive_mode is enabled and the time set to archive_timeout has been exceeded.(基于主备复制需求)

· 创建新的WAL日志文件

· WAL日志文件删除与回收(基于一个checkpoint完成过程)

· 文件管理WAL段文件的数量主要由以下三个参数控制:

1、checkpoint_segments (9.5版本后被废弃)

2、checkpoint_completion_target (默认为0.5)

3、WAL_keep_segments

((2+checkpoint_completion_target)×checkpoint_segments+1)


数据库归档

· 归档日志

连续归档是在WAL段切换时将WAL段文件复制到归档区域的功能,由archiver(后台)进程执行。其中,占位符%p是复制的WAL段,而%f是存档日志。

ALTER SYSTEM SET archive_command = 'cp %p /home/postgres/archives/%f';

ALTER SYSTEM SET archive_mod = on;


WAL 文件管理

· 发生切换时归档

· 设置wal相关参数 

设置wal目录最大可用尺寸(默认值为1024MB):max_wal_size 

 设置wal文件最大可用尺寸(默认值为16MB):wal_segment_size 

设置wal缓冲区尺寸(默认值512KB):wal_buffers

以上就是Part 12 - PostgreSQL wal作用与管理 的内容,欢迎进群一起探讨交流QQ交流群:752027153

微信交流群:联系客服拉你进微信PG交流群

钉钉交流群:35822460,钉钉群有专门讲解公开课

往期课程及视频,联系cuug咨询老师

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