

Part 12:WAL作用与管理
| 内容1 | WAL物理与逻辑结构 |
| 内容2 | WAL数据内部布局 |
| 内容3 | WAL数据写进程 |
| 内容4 | WAL管理 |
| 内容5 | WAL归档日志 |
WAL概述
· 没有WAL的插入操作

· 有WAL的插入操作

· Insert操作与recovery

· 使用WAL进行数据库恢复

事务日志与WAL文件

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

· WAL内部布局

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

写XLOG记录
· 写XLOG记录


· WAL 写进程
1、At commit
2、When wal buffer full

写XLOG记录

pg_control File
即使pg_控制文件存储超过40个项目,需要的三个项目如下所示:
State –最新检查点启动时数据库服务器的状态。总共有七种状态:“启动”是系统正在启动的状态;“关闭”是系统通过shut down命令正常关闭的状态;“生产中”是系统正在运行的状态;依此类推。
Latest checkpoint location –最新检查点记录的LSN位置。
Prior checkpoint location –先前检查点记录的LSN位置。
postgres> pg_controldata /usr/local/pgsql/datapg_control version number: 937Catalog version number: 201405111Database system identifier: 6035535450242021944Database cluster state: in productionpg_control last modified: Mon Apr 27 15:16:38 2020Latest checkpoint location: 0/C000F48Prior checkpoint location: 0/C000E70... snip ...
Database Recovery
· 数据库实例恢复开始位置( 检查点)

· 数据库WAL日志记录


WAL 文件管理
3、archive_mode is enabled and the time set to archive_timeout has been exceeded.(基于主备复制需求)
· 创建新的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 文件管理



相关阅读:
蓝蓝的天
-->> 联系客服,进群或领取文档资料




