发布于 2026-09-10T06:53:46.165221Z · Melanie Plageman · pgsql-hackers

PostgreSQL 19 的 WAL_LOG CREATE DATABASE 策略被查出严重缺陷。提交 add323da40a 在 heap_xlog_prune_freeze() 里加了一条断言,要求可见性映射缓冲区为脏。主备切换后,提升为主的备库可见性映射是全零,VACUUM FREEZE 会重新置位并生成不含整页镜像的 PRUNE 记录;重新加入的旧主库回放这些记录时发现位已置好,缓冲区保持干净,于是断言失败、节点反复崩溃重启。
PostgreSQL 19 的 WAL_LOG CREATE DATABASE 策略被查出严重缺陷。提交 add323da40a 在 heap_xlog_prune_freeze() 里加了一条断言,要求可见性映射缓冲区为脏。主备切换后,提升为主的备库可见性映射是全零,VACUUM FREEZE 会重新置位并生成不含整页镜像的 PRUNE 记录;重新加入的旧主库回放这些记录时发现位已置好,缓冲区保持干净,于是断言失败、节点反复崩溃重启。
来源记录
- center.info_item · 133d9c4c57446d61 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 133d9c4c57446d61 · 2026-10-03T04:08:55.967155Z