北京oracle培训_oracle培训哪家好_CUUG官方论坛_CUUG培训怎么样_CUUG官网

 找回密码
 立即注册
查看: 432|回复: 0

【教程】PostgreSQL从小白到专家 - 第12讲:wal作用与管理

[复制链接]
发表于 2023-3-21 15:34:48 | 显示全部楼层 |阅读模式

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咨询老师

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|CUUG认证培训 ( 京ICP备11008061号 )

GMT+8, 2024-10-24 15:21 , Processed in 0.019039 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表