2024年9月26日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14
开发版本:开发版

28.2. 数据校验和 #

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

通常在使用 initdb 初始化集群时启用校验和。也可以在稍后作为离线操作启用或禁用它们。数据校验和在整个集群级别启用或禁用,不能单独为数据库或表指定。

可以通过查看只读配置变量 data_checksums 的值来验证集群中校验和的当前状态,方法是发出命令 SHOW data_checksums

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

28.2.1. 离线启用校验和 #

可以使用 pg_checksums 应用程序在离线集群上启用或禁用数据校验和,以及验证校验和。

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。