PG 19 分支修复并行 TID 重扫漏行
PG 19 分支已修复并行 TID 范围扫描的一项结果正确性缺陷。相关子查询多次执行时,如果每次使用不同的物理行地址范围,工作进程仍会沿用首次扫描的区块范围,导致后续查询静默漏行。补丁在重新初始化共享扫描状态时同时清空起始区块和区块数,并增加真正改变扫描范围的回归用例。改动已进入主线与 19 分支;使用预发布版本测试这类查询的团队,应核对后续构建是否包含该修复。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 31 条。
PG 19 分支已修复并行 TID 范围扫描的一项结果正确性缺陷。相关子查询多次执行时,如果每次使用不同的物理行地址范围,工作进程仍会沿用首次扫描的区块范围,导致后续查询静默漏行。补丁在重新初始化共享扫描状态时同时清空起始区块和区块数,并增加真正改变扫描范围的回归用例。改动已进入主线与 19 分支;使用预发布版本测试这类查询的团队,应核对后续构建是否包含该修复。
EDB 工程师用 PostgreSQL 18 与 HammerDB 复现了写入吞吐的隐蔽上限:并发提高后,大量会话排队等待关系扩展锁,CPU 和磁盘指标却仍有余量。案例把热点表分成 10 个哈希分区,让写入分散到独立的扩展锁;厂商称同硬件吞吐达到原来的 7.2 倍。结果取决于分区键能否均匀分散写入,不能只按分区数量判断效果。排查此类瓶颈应查看 Lock:extend 等待,并用实际负载比较写入收益与跨分区查询代价。
StackGres 公布 Citus 查询路由器的新一轮扩展测量。厂商称 24 个数据节点配合 48 个路由器,达到约每秒 1,003 万次单行主键读取,客户端中位延迟约 1 毫秒;从 3 个数据节点扩到 24 个时,吞吐达到初始值的 7 倍。测试只含读取,不涉及写入、跨分片查询或副本;其本地 NVMe、数据总量与对照的 Neki 环境也有差异。这是更大规模的扩展测量,完整复现代码仍计划后续公开。
Snowflake Postgres 到数仓的数据镜像正式可用,覆盖 AWS 与 Azure 上已提供该托管数据库的区域。pg_lake 捕获逻辑复制变更,以事务批次写入 Iceberg 日志,再由数仓原子应用;表结构与新表可自动同步。$live 视图合并已应用数据与在途变更,$changes 保留七天变化记录。用户可按表、模式或数据库建立镜像,减少外部 CDC 服务的运维工作。
Percona 排查 PXC 升级后的磁盘写入突增,发现关键变化来自升级的操作系统:XFS 上的大 folio 会把 Galera 缓存中细小的 mmap 修改扩大为整块回写。案例里 InnoDB 与 binlog 写量保持平稳,额外 I/O 计入复制接收和应用线程。文章给出内核、文件系统、预读大小与线程级 I/O 的联合诊断方法;降低预读或使用未启用大 folio 的文件系统可缓解,但影响取决于访问模式,不能仅凭数据库版本归因。
ClickHouse 在官方 .NET 驱动中加入实验性 TCP 客户端,让结果与插入数据直接按列块传输,减少 HTTP RowBinary 路径上的行列转换。列式接口复用缓冲区,支持进度、服务端取消和固定连接会话;厂商基准显示,部分批量读写更快且分配内存明显减少。该接口要求 .NET 8 及以上,尚不支持 ADO.NET 与 JWT,JSON 仍以文本传输。应用迁移前需检查接口缺项与缓冲区生命周期,现有 HTTP 客户端继续可用。
Calif 公开 OpenBSD 本地提权链的分析,其中一处共享内存引用计数沿用约 37 年前 BSD 源码里的 16 位有符号整数。反复派生进程可使计数溢出,并与另一处内核越界写组合,在启用内核重链接随机化及 SMAP、SMEP 的环境中获取 root 权限。相关缺陷已由 9 月的两项 OpenBSD 7.9 勘误修复。研究还说明,可预测的内核分配会削弱现有防护,链表完整性检查与分配随机化可进一步抬高攻击门槛。
补丁在无需同步逻辑 WAL 状态的情形跳过屏障等待,避免被停止读取结果的客户端无限拖住;已回补 19 分支。
旧版本最新成员恰好结束在 32 位偏移回绕点时,升级会误判零偏移,导致访问相关行报错;修复已进入 19 分支。
热备反馈的 xmin 会留在复制槽中并跨断线保留;应检查 pg_replication_slots,而非只看复制进程或回放延迟。
全局仓库会另取连接,租户设置因此脱离查询,并发事务还会互等第二条连接;事务内应统一使用回调的管理器。
10 月 14 日公告澄清:4 月 18 日前创建的实例启用目录集成仍默认每日同步,近实时能力尚未普遍开放。
先合并结构再修正类型,导入时一次解析;严格转换可暴露类型错误,递归展开可保留父级名称避免重名。
均值与标准差采用不同时间窗口,并要求至少 5% 的相对变化;调度器分片、批量写回和异步通知改善大规模告警。
更新约束压缩 gRPC 与 MessagePack 的资源使用,修正 SQL 条件运算优先级,并保留重写标签时的资源元数据。
0.20.2 修正 DRA 任务规格变更后的配额计算,并重新入队部分被驱逐后卡住的任务;角色配额校验仍是默认关闭的 Alpha 功能。
生产切换日期为 2027 年 2 月 10 日,授权复用期也将缩至 10 天;固定天数的续期脚本需改按证书寿命安排。