默认情况下,数据页不受校验和保护,但可以为集群选择性地启用此功能。启用后,每个数据页都包含一个校验和,该校验和在写入页面时更新,并在每次读取页面时进行验证。只有数据页受到校验和保护;内部数据结构和临时文件不受保护。
通常在使用 initdb 初始化集群时启用校验和。也可以在稍后作为离线操作启用或禁用它们。数据校验和在整个集群级别启用或禁用,不能单独为数据库或表指定。
可以通过查看只读配置变量 data_checksums 的值来验证集群中校验和的当前状态,方法是发出命令 SHOW data_checksums
。
尝试从页面损坏中恢复时,可能需要绕过校验和保护。为此,请临时设置配置参数 ignore_checksum_failure。
可以使用 pg_checksums 应用程序在离线集群上启用或禁用数据校验和,以及验证校验和。
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。