XLOG_PAGE_MAGIC

嵌入在 WAL 文件中定义其版本的常量

XLOG_PAGE_MAGIC 是一个 嵌入在 WAL 文件头部的预处理器常量,用于定义其版本。

XLOG_PAGE_MAGICPostgreSQL 7.0 起就存在(尽管它在 WALPostgreSQL 7.1 完全引入后才变得实用)。

源代码

XLOG_PAGE_MAGIC 定义在 src/include/access/xlog_internal.h 中(在 PostgreSQL 8.0 之前定义在 src/include/access/xlog.h 中)。

用法和值

XLOG_PAGE_MAGIC 是一个两字节的常量,每次对 WAL 文件格式进行更改时都会递增。它与 PostgreSQL 版本号没有直接的对应关系,但自 PostgreSQL 8.0 以来的每个稳定 PostgreSQL 版本发布时的值都高于前一个稳定版本的对应值,因此理论上可以根据 XLOG_PAGE_MAGIC 的值来确定 WAL 文件与哪个 PostgreSQL 版本相关联。请注意,在 PostgreSQL 7.3PostgreSQL 7.4 之间没有发生递增(参见下表)。

PostgreSQL 版本 XLOG_PAGE_MAGIC 提交 备注
PostgreSQL 18 0xD118 243e9b40 尚未完成
PostgreSQL 17 0xD116 2b5819e2  
PostgreSQL 16 0xD113 6af17939  
PostgreSQL 15 0xD110 8b1dccd3  
PostgreSQL 14 0xD10D 08aa89b3
PostgreSQL 13 0xD106 c6b92041  
PostgreSQL 12 0xD101 b5f58cf2  
PostgreSQL 11 0xD098 cf5a1890  
PostgreSQL 10 0xD097 ea42cc18
PostgreSQL 9.6 0xD093 65578341  
PostgreSQL 9.5 0xD087 6e8af376  
PostgreSQL 9.4 0xD07E 8776faa8  
PostgreSQL 9.3 0xD075 0ab9d1c4  
PostgreSQL 9.2 0xD071 3424bff9  
PostgreSQL 9.1 0xD066 d2bc1c99  
PostgreSQL 9.0 0xD064 9b8a7332  
PostgreSQL 8.4 0xD063 cd004067  
PostgreSQL 8.3 0xD062 a8d539f1  
PostgreSQL 8.2 0xD05E 09b5271e  
PostgreSQL 8.1 0xD05D 21fda22e  
PostgreSQL 8.0 0xD05C 2042b342 已移至 src/include/access/xlog_internal.h (提交 2042b342)
PostgreSQL 7.4 0xD05A 不适用 与 PostgreSQL 7.3 相同
PostgreSQL 7.3 0xD05A c87469e6  
PostgreSQL 7.2 0xD059 7d4d5c00  
PostgreSQL 7.1 0xD058 1b87e24c  
PostgreSQL 7.0 0x17345168 30659d43 实验性质

分类

PostgreSQL internals, WAL

另请参阅

catalog_version_number

反馈

欢迎通过 此链接 提交关于“XLOG_PAGE_MAGIC”的任何评论、建议或更正。