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

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

PostgreSQL 博览 RSS 订阅

当天收录 31 条。

PG 19 分支修复并行 TID 重扫漏行

Zsolt Parragi、David RowleyPostgreSQL

PG 19 分支已修复并行 TID 范围扫描的一项结果正确性缺陷。相关子查询多次执行时,如果每次使用不同的物理行地址范围,工作进程仍会沿用首次扫描的区块范围,导致后续查询静默漏行。补丁在重新初始化共享扫描状态时同时清空起始区块和区块数,并增加真正改变扫描范围的回归用例。改动已进入主线与 19 分支;使用预发布版本测试这类查询的团队,应核对后续构建是否包含该修复。

关系扩展锁可在低 CPU 占用时限制写入吞吐

Vishal SawaleEDB

EDB 工程师用 PostgreSQL 18 与 HammerDB 复现了写入吞吐的隐蔽上限:并发提高后,大量会话排队等待关系扩展锁,CPU 和磁盘指标却仍有余量。案例把热点表分成 10 个哈希分区,让写入分散到独立的扩展锁;厂商称同硬件吞吐达到原来的 7.2 倍。结果取决于分区键能否均匀分散写入,不能只按分区数量判断效果。排查此类瓶颈应查看 Lock:extend 等待,并用实际负载比较写入收益与跨分区查询代价。

Citus 只读分片基准扩展到千万 QPS

Álvaro HernándezStackGres

StackGres 公布 Citus 查询路由器的新一轮扩展测量。厂商称 24 个数据节点配合 48 个路由器,达到约每秒 1,003 万次单行主键读取,客户端中位延迟约 1 毫秒;从 3 个数据节点扩到 24 个时,吞吐达到初始值的 7 倍。测试只含读取,不涉及写入、跨分片查询或副本;其本地 NVMe、数据总量与对照的 Neki 环境也有差异。这是更大规模的扩展测量,完整复现代码仍计划后续公开。

Snowflake Postgres 数据镜像正式可用

Craig Kerstiens、Claire PeracchioSnowflake

Snowflake Postgres 到数仓的数据镜像正式可用,覆盖 AWS 与 Azure 上已提供该托管数据库的区域。pg_lake 捕获逻辑复制变更,以事务批次写入 Iceberg 日志,再由数仓原子应用;表结构与新表可自动同步。$live 视图合并已应用数据与在途变更,$changes 保留七天变化记录。用户可按表、模式或数据库建立镜像,减少外部 CDC 服务的运维工作。

Linux 缓存回写放大 Galera 零散更新

Przemysław MalkowskiPercona

Percona 排查 PXC 升级后的磁盘写入突增,发现关键变化来自升级的操作系统:XFS 上的大 folio 会把 Galera 缓存中细小的 mmap 修改扩大为整块回写。案例里 InnoDB 与 binlog 写量保持平稳,额外 I/O 计入复制接收和应用线程。文章给出内核、文件系统、预读大小与线程级 I/O 的联合诊断方法;降低预读或使用未启用大 folio 的文件系统可缓解,但影响取决于访问模式,不能仅凭数据库版本归因。

ClickHouse 预览 .NET 原生列式客户端

Alex Soffronow PagonidisClickHouse

ClickHouse 在官方 .NET 驱动中加入实验性 TCP 客户端,让结果与插入数据直接按列块传输,减少 HTTP RowBinary 路径上的行列转换。列式接口复用缓冲区,支持进度、服务端取消和固定连接会话;厂商基准显示,部分批量读写更快且分配内存明显减少。该接口要求 .NET 8 及以上,尚不支持 ADO.NET 与 JWT,JSON 仍以文本传输。应用迁移前需检查接口缺项与缓冲区生命周期,现有 HTTP 客户端继续可用。

OpenBSD 提权研究揭示旧计数器与可预测分配风险

Andrew GriffithsCalif

Calif 公开 OpenBSD 本地提权链的分析,其中一处共享内存引用计数沿用约 37 年前 BSD 源码里的 16 位有符号整数。反复派生进程可使计数溢出,并与另一处内核越界写组合,在启用内核重链接随机化及 SMAP、SMEP 的环境中获取 root 权限。相关缺陷已由 9 月的两项 OpenBSD 7.9 勘误修复。研究还说明,可预测的内核分配会削弱现有防护,链表完整性检查与分配随机化可进一步抬高攻击门槛。