Noah MischPostgreSQL hackers
PostgreSQL 19 为外键检查加了快速路径,批量操作下暴露出越界写入和漏掉约束检查的问题,提交 4113873 的做法是把批处理限制在顶层事务。Noah Misch 反对这个修法:用到 SAVEPOINT 时会带来约 1.6 倍的性能回退,也偏离了按子事务跟踪资源的惯例,代码并未变简单。他主张改成按子事务跟踪批处理来源,并指出 AfterTriggerEndSubXact() 没有重置 firing_depth,捕获触发器错误后外键校验可能被错误路由。
Radim Marekboringsql.com
Radim Marek 拆解了堆页内部的清理过程。页面剪枝只在单个堆页里回收死元组占的字节并推进 pd_upper 做碎片整理,普通 SELECT 碰到 HOT 链时就会顺手做,VACUUM 的第一阶段也对每个页做一遍。有索引时行指针走 LP_NORMAL 到 LP_DEAD 再到 LP_UNUSED,无索引时一步到位;LP_DEAD 表示空间已回收但 TID 仍被索引引用。HOT 链的头指针会转成 LP_REDIRECT,索引顺着它找到当前版本,从而完全省掉索引更新。
PostGIS 团队PostGIS
PostGIS 团队发布 3.7.0alpha1,要求 PostgreSQL 14 到 19beta1、GEOS 3.10 以上、Proj 6.1 以上。这一版丢掉了对 PostgreSQL 12 与 13 的支持,把 address_standardizer 和 tiger_geocoder 移出主仓库;拓扑函数把容差 0 当作字面零,按精度取容差要改写 -1。新增 ST_CoverageEdges、ST_MinimumSpanningTree 等函数。
HexaClusterHexaCluster
credcheck 在创建用户、改密码和改名时执行统一的凭据规则,涵盖复杂度、历史复用、最短有效期、认证失败次数与首次登录强制改密。HexaCluster 发布的 5.0 是大版本更新,新增 PostgreSQL 19 兼容性,并让密码历史机制具备复制感知能力;打开 credcheck.superuser_nocheck 后超级用户的建角色与改角色会跳过检查。升级后需要重启 PostgreSQL 才能重新加载该库。
burnside projectPostgreSQL 新闻
burnside project 开源的 pg-cdc 读取 PostgreSQL 的 WAL,把变更以 Apache Iceberg 表的形式写入 AWS S3,并自动在 Glue Catalog 注册表,用 Lake Formation 的标签控制读取,消费方走 IAM 认证,不需要数据库账号密码。工具只有一个二进制,不依赖 JVM;数据流严格单向,架构上不存在回写生产库的路径。每次刷新生成一个 Iceberg 快照,可以对 CDC 历史做时间旅行查询。
Simon WillisonSimon Willison 博客
Simon Willison 发布 sqlite-utils 4.0rc2,其中大量工作由 Claude Fable 辅助完成,他估算未计补贴的成本约 149.25 美元,又让 GPT-5.5 做交叉审查,找出两个与事务和 RETURNING 相关的问题。这是一份高水平开发者用强模型做真实开源发布的完整账目:产出确实有,但审查成本同样真实。对数据库工具而言可借鉴的是,价值不在于让模型一口气写完,而在于让不同模型、测试与人工复核专门盯住事务、副作用和文档承诺。