↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

PG 修复表重写丢失有效行的问题

Shihao Zhong、Michael PaquierPostgreSQL

PostgreSQL 已合入一项数据完整性修复:一行插入后被子事务更新,随后子事务回滚,旧代码可能漏设事务无效标志。表重写因此把仍然有效的行误判为已更新,并将其丢弃。补丁补齐可见性判断中的提示位,避免重写路径漏行。提交说明指出,CLUSTER 的受影响分支可追溯到 PG 14,REPACK 则到 PG 19,并标注回补至 14。这是已提交的修复,尚不能据此认定已安装版本包含补丁。

PG 修复 B-tree 删页时的 WAL 竞态

Peter GeogheganPostgreSQL

PostgreSQL 已合入 B-tree 多层页面删除的 WAL 修复。删除过程释放并重新获取叶页锁时,并发分裂可能改变左侧兄弟页链接;旧代码仍把先前值写入 WAL,导致备库的待删除叶页短暂损坏,并触发 WAL 一致性检查失败。补丁在重新加锁后重读链接,提交标注回补至 PG 14。该问题需要很窄的并发窗口,损坏通常随页面紧接着被彻底删除而消失,不能据此推断为普遍的持久数据损坏。

PG 以原子替换保护两阶段事务文件

Shihao ZhongPostgreSQL

PostgreSQL 已合入检查点期间两阶段事务文件的写入修复。旧实现先截断原文件,再原地写入;若写到一半崩溃,或基础备份恰好复制了中间状态,就可能留下空文件或残缺文件,使后续启动报文件大小错误。新实现先写临时文件,完成后通过原子重命名替换目标,避免恢复过程读到半成品。提交标注回补至 PG 14,使用预备事务及物理备份的系统应跟进包含此补丁的版本;此次消息对应代码合入。

pg_ivm 1.17 修复恢复后的增量维护

IVM Development Grouppg_ivm

pg_ivm 1.17 修复了增量物化视图在备份恢复和升级后的维护问题。恢复过程曾把已填充视图标为未填充,后续刷新可能重复创建触发器,影响增量维护;新版本同时调整元数据恢复函数与转储逻辑,避免升级时因元数据已存在而失败。唯一键推导改用原始查询,使带 EXISTS 的查询也能建立所需索引,另修复 LATERAL 相关崩溃并拒绝不支持的集合返回函数。版本于 10 月 18 日发布,本期补录该项更新。

HypoPG 1.4.4 修复假想索引状态残留

Julien RouhaudHypoPG

HypoPG 1.4.4 完善了假想索引的失效处理:被依赖的表、函数、访问方法、操作符类或类型改变后,相关索引状态会及时清理,避免后续规划继续使用过期信息。版本还修复失败的 EXPLAIN 污染后续查询状态、WITH 查询内存泄漏,以及包含列数量和索引属性取值等问题,并补充 PG 19 兼容性。使用 HypoPG 比较索引方案时,这些修复关系到会话连续试验的可靠性;假想索引仍只用于规划,不会成为实体索引。

PGDG RPM 仓库大幅减少 EPEL 依赖

Devrim GündüzPlanet PostgreSQL

PGDG 调整了 RHEL 8、9、10 的包依赖,使常用 GIS 扩展和 Python 运维工具更多依靠 PGDG 与系统基础仓库安装。自带库放在独立目录,并通过运行时搜索路径与 EPEL 版本共存;RHEL 10 的部分 Python 包则明确替代对应 EPEL 包,不能一概视为并行安装。CRB 仍是必要来源,Nagios、R、Firebird 等部分依赖仍需 EPEL。维护者强调减少外部依赖,现有主机不应因此直接移除 EPEL。