数据页校验和

一种用于检测存储系统错误导致的数据损坏的机制

可以在数据页中添加校验和,以帮助检测由存储系统错误引起的数据损坏。它们只能在 initdb 时期为整个数据库集群设置;之后无法将集群或单个数据库转换为使用校验和。

校验和引入于 PostgreSQL 9.3。从 PostgreSQL 18 开始,在新创建的数据库上默认启用。

确定校验和是否已启用

要确定 PostgreSQL 实例上是否启用了校验和,请查询预设的 GUC data_checksums

PostgreSQL 9.6 开始,执行例如“SELECT data_page_checksum_version FROM pg_control_init()”。

对于所有版本,此值由 pg_controldata 报告为“Data page checksum version”。“0”表示未启用。

验证校验和

PostgreSQL 12 开始,实用程序 pg_checksums 使所有数据页校验和的验证成为可能。

PostgreSQL 11 中,可以使用实用程序 pg_verify_checksums 来实现相同目的。

变更历史

分类

存储

另请参阅

initdb, pg_verify_checksums, pg_checksums

反馈

在此处提交关于“Data page checksums”的任何评论、建议或更正 此处