选择 打开 改范围 完整检索页

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

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

ON CONFLICT 修复可串行化隔离缺口

Zsolt Parragi、Andrey BorodinPostgreSQL

PostgreSQL 修复了 ON CONFLICT 对冲突行读取缺少谓词锁的问题。采用 DO NOTHING,或更新条件拒绝该行时,语句可能没有实际写入,原先的冲突探测也未登记读依赖,导致可串行化事务仍出现写偏斜。新实现用查询快照重新读取冲突行,在缓冲区锁保护下获取读锁并检查并发写入。前两类路径自 9.5 起受影响,修复已回补至 14 等受支持分支;这是代码修复合入,正式小版本尚未发布。

PostgreSQL 19 回退时间段更新与删除语法

Peter EisentrautPostgreSQL

PostgreSQL 19 分支撤回了 UPDATE/DELETE FOR PORTION OF 及后续修正,并删除对应发布说明。这套语法原本用于只修改或删除范围列覆盖的部分时间段,自动保留两侧剩余记录。临近下一轮测试版,审查仍在讨论并发更新的处理方式;本次回退同时撤下解析、执行、补全和测试代码,属于已执行的版本范围调整。已经按测试版语法开展验证的应用需要重新评估依赖,不能继续把这项能力视为 19 的既定交付。

开发分支打通 TOAST 的 64 位对象标识

Michael PaquierPostgreSQL

PostgreSQL 开发分支为 TOAST 外置大字段加入 64 位对象标识的磁盘指针格式。此前扩宽对象编号计数器之后,这次进一步让块标识列使用 oid8 的 TOAST 表实际保存八字节编号,并同步调整解压读取、关系缓存及 amcheck 校验。新指针比原格式多四字节,类型标记必须与 TOAST 表的块标识类型一致。改动已合入 master 并递增系统目录版本,为大规模外置值提供更宽的编号空间,仍属于开发快照中的存储格式变化。

开发分支让表访问方法接管索引扫描

Peter GeogheganPostgreSQL

PostgreSQL 开发分支引入统一的表访问方法索引扫描入口,由表访问方法在扫描开始时选择普通扫描或仅索引扫描的具体实现。原先散落在执行器中的可见性映射检查移入堆表实现,自定义存储因此可以实现不依赖堆表可见性映射的仅索引扫描。约束检查另走专用的元组读取接口,扫描统计也随之调整。这是已经合入的接口重构,为后续批量取索引项和预取数据页准备基础;本次提交本身尚未交付那两项性能特性。

Percona 用缓冲池改造缓解高并发性能退化

Bogdan DegtyariovPercona

Percona 拆解了 Server for MySQL 8.4.11-11 的缓冲池性能改进。前台线程不再持有 LRU 互斥锁清零整块内存,锁只保护必要的链表操作;后台管理线程提前准备空闲页,并把干净页淘汰计入工作量,减少过度休眠和重复扫描。厂商称,在同一台机器的测试中,这些调整改善了中等并发吞吐,并减轻高并发时的性能下滑。文章同时比较多个 Percona 与上游版本,提示排查吞吐拐点时关注内部锁和页回收,而不只看查询计划。

Cloudflare Workers 开放单个服务的细粒度授权

Dina Kozlov、Anthony Oreglia、Visal InCloudflare

Cloudflare 为 Workers 增加按单个服务分配的权限,成员和 API 令牌可获得元数据只读、代码只读、编辑或管理员角色。团队可让运维查看设置与指标,同时限制读取代码、创建或删除服务。权限可通过控制台、API 和 Terraform 管理,Durable Objects 随所属 Worker 继承授权;路由管理仍需相应区域权限。功能面向所有客户,可缩小协作账号与自动化凭据的权限,D1、R2、KV 的同类控制仍在后续计划中。