Hubert 'depesz' Lubaczewski: 等待 PostgreSQL 19 – 在线启用和禁用数据校验和
💡
原文英文,约1400词,阅读约需5分钟。
📝
内容提要
PostgreSQL 19引入了在线启用和禁用数据校验和的功能,允许在运行的集群中进行操作,无需限制访问。此功能通过后台工作进程处理所有数据库的缓冲区,确保数据校验和在写入时计算。启用和禁用过程需要重写所有磁盘页面,可能耗时较长,但命令执行是瞬时的。这项改进使旧版本Pg用户能够更安全地启用校验和。
🎯
关键要点
- PostgreSQL 19引入了在线启用和禁用数据校验和的功能,允许在运行的集群中进行操作,无需限制访问。
- 数据校验和之前只能在初始化时启用,或在集群离线时使用pg_checksums应用程序进行操作。
- 后台工作进程负责处理所有数据库的缓冲区,以确保在写入时计算数据校验和。
- 启用和禁用过程需要重写所有磁盘页面,可能耗时较长,但命令执行是瞬时的。
- 在启用数据校验和时,其他后端的并发I/O操作会写入校验和,但在读取时不会验证。
- 新引入的测试模块test_checksums包含了在线和离线数据校验和模式变化的广泛测试。
- pg_enable_data_checksums函数具有两个可选参数,允许用户配置后台工作进程的延迟和成本限制。
- 这项改进使得旧版本Pg用户能够更安全地启用校验和,而无需重新初始化数据库。
❓
延伸问答
PostgreSQL 19的新功能是什么?
PostgreSQL 19引入了在线启用和禁用数据校验和的功能,允许在运行的集群中进行操作,无需限制访问。
如何在PostgreSQL中启用数据校验和?
可以使用pg_enable_data_checksums函数来启用数据校验和,该过程需要重写所有磁盘页面。
启用和禁用数据校验和的过程有什么区别?
启用和禁用数据校验和的过程都需要重写所有磁盘页面,但命令执行是瞬时的,实际的重写过程可能耗时较长。
在启用数据校验和时,其他操作会受到影响吗?
在启用数据校验和时,其他后端的并发I/O操作会写入校验和,但在读取时不会验证。
pg_enable_data_checksums函数有哪些参数?
pg_enable_data_checksums函数具有两个可选参数,允许用户配置后台工作进程的延迟和成本限制。
为什么旧版本的PostgreSQL用户需要这个新功能?
这项改进使得旧版本Pg用户能够更安全地启用校验和,而无需重新初始化数据库。
🏷️
标签
➡️