💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
Postgres最近更新,默认启用数据校验和,以增强数据完整性,防止静默数据损坏。校验和确保数据在写入和读取时的一致性。新版本的initdb命令自动启用校验和,简化了数据库管理员的操作。升级时需注意校验和设置的一致性,以避免兼容性问题。
🎯
关键要点
- Postgres最近更新,默认启用数据校验和,以增强数据完整性。
- 数据校验和可以防止静默数据损坏,确保数据在写入和读取时的一致性。
- 校验和是每个8KB数据块的数字指纹,存储在页面头部。
- Postgres在写入数据时计算校验和,并在读取时进行验证。
- initdb命令用于创建新的Postgres数据库集群,默认启用数据校验和。
- 以前,数据库管理员需要手动添加--data-checksums标志来启用校验和。
- 新版本的initdb命令简化了操作,默认启用数据校验和。
- 升级时需确保旧集群和新集群的校验和设置一致,以避免兼容性问题。
- 可以使用--no-data-checksums标志来显式禁用校验和。
- 在升级过程中,建议在下次升级前为数据库添加校验和,尽管这可能需要停机和重启。
➡️