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