欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

PostgreSQL的存储系统二:REDOLOG文件存储结构

程序员文章站 2022-05-11 19:15:01
...

PostgreSQL的存储系统二:REDOLOG文件存储结构,Pg XLOG文件(常说的REDOLOG)名字的命名方法是在XLogFileName宏里定义的,分别由

Pg XLOG文件(常说的REDOLOG)名字的命名方法是在XLogFileName宏里定义的,分别由时间线ID、日志ID、段ID的八位16进制数依次构成。例如00000001000000010000008F。

不同的段ID对应不同的物理XLOG日志文件,日志ID是逻辑概念,有多个物理XLOG日志文件组成。

Pg XLOG文件(常说的REDOLOG)的大小初始值是在configure.in和configure文件里设置的,,默认大小是16M。大小设置形式如下

wal_segsize=16

XLOG_SEG_SIZE (${wal_segsize} * 1024 * 1024)=16M

这个XLOG_SEG_SIZE是XLOG日志文件的段大小,就是一个物理的日志文件的大小。一个逻辑的XLOG日志文件大小是4Gb。

Pg XLOG文件的存储格式大致如下:

里面包括

……

1

{

XLOG文件里的页面头结构

{

当记录跨页时,在后面的页头里设置标志

这个指明是长页头(多用于文件第一页)

在xlp_info中定义的所有标志位(用于头的有效性检查)

wal_segsize=16

XLOG_SEG_SIZE (${wal_segsize} * 1024 * 1024)=16M

PostgreSQL的存储系统二:REDOLOG文件存储结构