↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。

28.2. 数据校验和 #

默认情况下,数据页受校验和保护,但也可以选择为集簇禁用。启用后,每个数据页都包含一个校验和,在页面写入时更新,并在页面每次被读取时进行验证。只有数据页受校验和保护;内部数据结构和临时文件不受保护。

可以在使用 initdb 初始化集簇时禁用校验和。之后也可以通过离线操作启用或禁用。数据校验和是在整个集簇级别启用或禁用的,不能为单个数据库、表或复制的集簇成员分别指定。

可以通过查看只读配置变量 data_checksums 的值来确认集簇当前的校验和状态,执行命令 SHOW data_checksums 即可。pg_control_init 也可以用来检查集簇初始化时的数据校验和状态。

在尝试从页面损坏中恢复时,可能需要绕过校验和保护。为此,请临时设置配置参数 ignore_checksum_failure。

28.2.1. 离线启用校验和 #

pg_checksums 程序可用于在离线集簇上启用或禁用数据校验和,也可以用来验证校验和。在重新启动集簇之前,必须在复制集簇的每个节点上执行相同的操作。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.