Heim >Datenbank >MySQL-Tutorial >PostgreSQL的存储系统二:REDOLOG文件存储结构

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

WBOY
WBOYOriginal
2016-06-07 17:15:471422Durchsuche

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

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn