PoWA 团队PoWA
PoWA 团队发布了 powa-archivist 5.2.0,主要变化是支持 PostgreSQL 19,新增统计视图 pg_stat_recovery 和 pg_stat_lock,由 Julien Rouhaud 与 Georgy Shelkovy 贡献。powa-archivist 是 PostgreSQL Workload Analyzer 的采集底座,兼容所有仍受支持的大版本,能从多个实例采集并聚合指标,给出索引建议。
Thom BrownPostgreSQL hackers
Thom Brown 测试了修复 JSON_TABLE PLAN 子句的一组补丁:0001 修好 pg_dump 里 ERROR ON EMPTY 的处理,0002 保住 PLAN 子句的括号,0003 防止列被静默丢弃。0003 起初会让自动生成的路径名与用户指定的名字冲突,Korotkov 随后发了修订版。此前 NESTED PATH 查询约 3.7 倍的性能回退,根因是嵌套路径被反复求值,由 0005 修复。Thom 确认全部解决。
Denis SmirnovPostgreSQL hackers
Denis Smirnov 提交了一个 WIP 补丁,作为执行器批处理讨论中的堆层实验。补丁改 heap_getnextslot():页面模式扫描处理完页面上第一个元组之后,复用已经收集的可见元组偏移量,同时保留现有的 table AM 接口和逐元组的执行器接口。Apple M5 Pro 上的基准显示各类 count(*) 查询执行时间减少 4% 到 13%。与 Amit 的 v8 补丁集相比,pass-all 场景略逊。
Bharath RupireddyPostgreSQL hackers
Masahiko Sawada 和 Bharath Rupireddy 就核心设计达成一致:vacuum 遇到被活跃 walsender 持有的槽直接跳过,不阻塞等待,也不发信号,否则多个 autovacuum worker 反复碰到同一个槽会产生大量检查点请求。checkpointer 与副本上的 restartpoint 仍是兜底路径。v12 还把 vacuum、检查点和物理逻辑两类槽的测试合进了一个补丁。
Ayoub KazarPostgreSQL hackers
有补丁提议新增 pg_stat_vfdcache 视图,暴露虚拟文件描述符缓存的统计,用来辅助调整 max_files_per_process。主要分歧在于暴露缓存总条目数还是只暴露活跃条目数,最终共识是两者都给。内存占用统计既不宜遍历全部 VFD,也不适合用固定常量估算文件名长度,Ayoub Kazar 改成运行时累计:打开文件时加上 sizeof(Vfd) 与文件名实际长度,释放时相应减去。
Scott RayPostgreSQL hackers
Scott Ray 正在开发一个视图,展示 xmin horizon 的各类贡献者,包括后端进程、prepared 事务、复制槽和 hot standby feedback 的 walsender,并显示移除每个持有者后 horizon 会怎样变化。这项工作源自 autovacuum 无法清理元组时如何报告最旧 xmin 的讨论。Scott 最终另开线程和 CF 条目,避免干扰 cfbot。