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

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

PostgreSQL 博览 RSS 订阅

每日精选 PostgreSQL、数据库与云计算资讯

29 条

跨版本导出需防关键字静默改变约束语义

Christophe PettusThe Build

跨大版本导出时,pg_dump 与旧服务器的关键字表不同。Christophe Pettus 用 PG 15 到 18 的迁移演示:建表列名虽已加引号,CHECK 与行级安全策略中的 system_user 却可能被新版本解释为关键字,恢复成功后悄然改变含义。--quote-all-identifiers 同时控制客户端与服务端引用,保护反编译生成的 SQL;它不会改写 PL/pgSQL 字符串函数体或应用查询,这些代码仍需单独验证。

ParadeDB 修复检索计划沿用旧租户条件

ParadeDBParadeDB

ParadeDB 0.26.2 修复预备检索查询保留旧租户或时间条件的问题。此前 STABLE 表达式可能在规划时求值并存进通用计划,后续执行沿用旧值,甚至影响索引下推的行级安全条件;更新将这类表达式移到执行时计算。版本还修正高并发写入时后台合并难以启动、长期占用缓冲页导致读写报错的缺陷,并补上并行位图重扫崩溃修复。采用 RLS、预备语句与持续写入的检索服务应核对这些路径。

pg_fts 1.14.1 修复错误计数与清理膨胀

Greg Burdpg_fts

pg_fts 1.14.1 修复全文检索计数与维护问题:计数下推曾选用无效、部分或对当前快照过新的索引,返回错误总数或报错;清理无法取得截断锁时,还会反复扩张索引文件。更新改用规划器认可的索引集合,并限制清理批次的内存占用,修正待写入文档导致的严重估算偏差。本次更新不改变磁盘格式,无需重建索引;使用 COUNT、持续写入和并行 VACUUM 的部署应重点回归这些路径。

pg_turbovec 默认单线程缓解并发争用

Greg Burdpg_turbovec

向量检索扩展 pg_turbovec 2.14 把自动配置下的单查询线程数改为 1,避免连接池中多个查询同时占用多核而争抢 CPU。精确重排窗口也改按请求的候选数量计算,不再由向量维度设定很大的下限,并新增倍数参数调节召回与开销。更新无需重建索引,重连后加载新默认值;低并发场景仍可显式增加线程。每个后端私有的解码索引缓存仍会限制并发容量,线程优化尚未解决这一内存瓶颈。

TiDB Cloud 公测 PostgreSQL 兼容实例

PingCAPTiDB Docs

TiDB Cloud 在 AWS 公测 PostgreSQL 兼容的 Starter 实例,创建时可选择 MySQL 或 PostgreSQL 兼容模式。新模式支持连接、监控、备份与恢复,提供兼容 pgvector 的向量检索和部分 PostgreSQL 扩展,可沿用现有工具开展开发验证。此次预览仅面向开发与评估,尚不建议承载生产负载。开发团队可以逐项验证客户端、向量查询与恢复流程,并核对所需扩展的支持范围。

Neptune 1.5 升级查询语义并支持在线清理索引

Amazon Web ServicesAWS

Neptune 1.5.0.0 开始分区域上线,新增面向空图的 Gremlin CSV 快速离线导入,并允许在数据库持续运行时在线重建索引、回收空间。查询引擎扩大 Gremlin 支持,修复查询取消后可用内存减少及无服务器实例无法缩容的问题。此次升级还切换到 TinkerPop 3.8,部分步骤的语义变化可能改变查询结果而不报错,客户端运行环境要求也随之提高。升级验证因此要覆盖结果正确性,不能只检查连接与语法是否成功。

EMR 可在 Spark 作业内校验数据质量

Mert Hocanin、Aditya Vallabhani、Edison Xie、Shrey Malpani、Linan ZhengAWS Big Data Blog

EMR 将 Glue 数据质量引擎直接集成进 Spark 运行时,8.1 及以后版本可在 EC2、EKS 和无服务器三种部署模式中执行同一套 DQDL 规则,无需另起处理引擎。规则既能随作业定义,也能集中存入 Glue 目录并复用。官方案例先把数据写到 Iceberg 分支,再检查完整性、唯一性等约束,全部通过才合入主表;失败数据不会直接暴露给读者。这让质量规则与流水线代码分离,同时把校验放到数据发布之前。

Apigee 私有云版升级 Java 并移除旧管理界面

Google CloudGoogle Cloud

Apigee Edge 私有云版 4.54.00 将核心 API 处理组件升级到 Java 21,并更新多项底层依赖。旧 Java Callout 即使部署成功,也可能因类被移除或反射受限,在真实请求执行时失败,扫描工具又不能覆盖全部动态行为。新版本同时移除 Classic UI,新界面默认端口从 9000 改为 3001,原有自定义配置需另行迁移。升级验收需要覆盖实际代理流量、界面配置与网络入口,不能只检查部署状态。

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 勘误修复。研究还说明,可预测的内核分配会削弱现有防护,链表完整性检查与分配随机化可进一步抬高攻击门槛。

30 条

PostgreSQL 19 首个候选版发布

PostgreSQL Global Development GroupPostgreSQL

PostgreSQL 19 首个候选版已开放下载,标志着测试进入发布候选阶段。此次汇总 Beta 4 以来对并发 REPACK、查询计划建议、NULL 推断优化和并行自动清理等路径的修复,并纠正 JSON 导出键名与外表统计导入身份。旧版本升级仍需采用 pg_upgrade 或转储恢复等大版本迁移方式。团队计划在 11 月 12 日推出第二个候选版,吸收同日维护版本的修复;若无新的阻碍,正式版拟于 11 月 19 日发布。

pgAdmin 将发布验收改为真实安装与签名检查

Dave PagepgEdge

pgAdmin 已把构建和发布流程迁入 GitHub Actions,使原先主要存在于 Jenkins 配置中的步骤进入代码审查。新的候选版验收按用户安装说明在九种 Linux 发行版实际安装,并验证 Windows 签名、macOS 公证与分离签名,已发现包目录和仓库索引看似齐全却无法安装的问题。容器镜像新增 GitHub 仓库分发,Helm 图表也迁到该处;硬件令牌签名和下载站发布仍保留受限自托管执行器。

Neon 公测可订阅任意确定性 SQL 的实时查询

James ArthurNeon

Neon 将实时查询开放为公开测试功能:应用可订阅包含联接、聚合和窗口函数的只读确定性 SQL,数据变动后接收结果更新。功能按数据库分支启用,并提供 TypeScript 与 React 接口;厂商称增量计算放在副本,订阅本身不会阻止数据库缩容至零。当前仍有明确边界:尚不支持行级安全,协议可能变化,仅开放四个区域,也未公布性能基准。测试期免收实时功能费用,但计算和出站流量仍正常计费。

DuckDB 沿文件树定位 Iceberg 扫描与删除开销

The DuckDB teamDuckDB

Iceberg 表查询变慢时,仅看 SQL 计划未必能找到原因。DuckDB 团队演示如何沿目录指针读取元数据、清单和数据文件,用普通 SQL 检查每次提交留下的文件及统计信息。删除操作可能只增加位置删除文件,原数据文件的行数并不会随之减少;读取时仍需合并两者。列边界决定文件能否跳过,分区边界还可排除整份清单。这套方法有助于区分文件裁剪不足、碎片化提交和删除文件累积,避免把物理行数误当成有效记录数。

Hyperdrive 统一缓存协议格式,修复偶发空结果

Pranoy DuttaCloudflare Blog

Cloudflare 在将 Hyperdrive 的 MySQL 支持推向正式可用时,修复了极少出现的空结果和挂起。问题来自客户端节点与数据库端节点共享缓存,却分别保存了面向不同协议能力的响应字节;另一端命中后,可能把正常数据误读为结果结束。修复让两端统一缓存规范格式,再按客户端协商能力转换。团队还纠正了连接重置后的字符集恢复,说明连接池不仅要复用连接,也必须保持会话与协议语义一致。

Ubuntu 26.10 完成 Rust 核心命令迁移

CanonicalCanonical

Canonical 发布 Ubuntu 26.10,完成默认核心命令向 Rust 实现的迁移,并以 Sequoia PGP 验证 APT 仓库签名,为后量子包签名做准备。系统采用 Linux 7.3,提供 Lustre 支持和面向 amd64v3 的专用安装镜像。对维护数据库与基础设施镜像的团队,这次升级涉及日常文件操作、软件包验证和硬件支持;迁移前应验证管理脚本对命令细节的依赖,并确认现有包源与自动化流程的兼容性。

34 条

PgBouncer 1.26.1 修复身份冒用与拒绝服务

PgBouncer 项目PgBouncer

PgBouncer 1.26.1 修复三项安全漏洞。最严重的问题发生在连接不存在的数据库并进行 SCRAM 认证时,已知一个用户密码的客户端可冒用其他用户,包括管理员与后端超级用户。另外两项缺陷可让未认证客户端触发死循环,分别涉及特定启动参数配置,以及调高最大报文大小后的整数溢出。使用方应升级并核对配置;新版本还让忽略参数规则优先于参数跟踪,恢复显式忽略 search_path 的行为。

psqlODBC 修复大批参数绑定的堆内存损坏

psqlODBC 团队psqlODBC

psqlODBC 18.00.0005 修复参数绑定数量溢出,影响 08.01.0102 至 18.00.0004。旧驱动用有符号 16 位字段计数,绑定第 32769 个参数时可能越界清零,造成崩溃或堆内存损坏。新版本将参数编号限制为 1~32767,越界返回 07009。根据外部输入拼接大型 IN 列表的应用应限制参数数,或改用数组参数。本次还修复千参数语句的类型名截断,以及 bytea 经 OLE DB 调用的兼容问题。

同步扫描起点会让重复查询快慢悬殊

Alexander IoffeExoBench

同一查询第二次突然变快,未必是缓存预热。Alexander Ioffe 在 150 万行表上反复运行带 LIMIT 的顺序扫描,首次约 78 毫秒,随后约 0.07 毫秒,但两次访问的页面都已在共享缓存中。实测差异来自同步顺序扫描复用上一次扫描位置,恰好从目标数据附近开始;关闭该机制后,每次都约 81 毫秒。作者用多轮执行的耗时、读页和过滤行数定位原因,提醒性能评估保留逐次样本,并用对照实验验证异常。

逐任务保存点让 PostgreSQL 队列越扩越慢

Rory Malcolmincident.io

incident.io 复盘了 PostgreSQL 队列增加工作进程后反而变慢的问题。批量锁行后,每个任务再建立保存点,会让父子事务共同持锁并产生 MultiXact;其他工作进程执行 SKIP LOCKED 时反复查询这些记录,放大内部锁竞争。团队把领取与执行拆成短事务和限时租约,缩小队列表,并让每个 Pod 只保留一个领取器。团队称整套优化后峰值吞吐达到原来的 3.5 倍,代价是进程崩溃后,已领取任务最多等待十秒再重试。

D1 用边缘路由与异步聚合避开中心数据库热点

David Laban、Lambros PetrouCloudflare

Cloudflare 复盘 D1 管理数百万个 SQLite 数据库的控制面设计:PostgreSQL 保存事务性元数据,Workers KV 提供分布式路由信息,让查询通常无需访问中心集群。数据库创建先初始化 Durable Object,再记录映射,失败后的孤立对象由周期心跳自行纠正。用量统计则先排队、记录差量,再按账户批量聚合,避免每次变化都争抢同一行锁。文章交代最终一致性的边界,为大量小数据库的租户隔离与配额管理提供实践参考。

curl 8.23 修补 HTTP/2 上传漏洞并移除 SMB

Daniel Stenbergcurl

curl 8.23.0 发布当天,项目集中披露 24 项漏洞。其中 HTTP/2 上传释放后使用影响 8.12.0 至 8.22.0;恶意服务端可用特定流重置响应触发问题,代码执行还依赖严格的版本、堆布局和时序条件。更新同时修复代理诱取源站凭据、跨协议重定向漏做 SSH 主机校验等问题,并移除 curl 与 libcurl 的 SMB(S) 支持。升级时应同时检查内嵌 libcurl 的应用和依赖 SMB 传输的脚本。

30 条

逻辑复制升级须把序列与回滚一起演练

Dimitri FontaineDimitri Fontaine

Dimitri Fontaine 用 PostgreSQL 16 升至 18 的可复现实验,拆解逻辑复制切换与回滚的操作边界。初始复制不会带齐序列、物化视图内容和大对象,切换前须冻结写入、用标记行确认变更已应用,再同步序列;提前建立反向订阅才能接回新库写入。作者在事务池模式下用 PgBouncer 暂停并排空事务,三次测得 142–151 毫秒写入停顿且无失败请求。该结果依赖所有写入经过池化入口,长事务、模式变更与应用重试仍需纳入演练。

pg_vectorsearch 以分区压缩索引节省向量内存

Erik Nordström、Matvey Arye、Noah HeinTiger Data

Tiger Data 发布 pg_vectorsearch 首个 alpha 版,以 PRISM 分区索引和压缩替代图遍历,支持 PostgreSQL 18 起的版本,也能索引 pgvector 既有列。厂商称,一亿向量测试中,128 GB 内存实例在约 95% 召回率下达到 6 毫秒中位延迟。团队将开发转向新架构,pgvectorscale 进入维护模式。频繁写入后的重平衡和删除空间回收仍需手动执行,过滤查询也可能返回不足数量的结果。

ParadeDB 用页级可见性优化全文计数

Ming YingParadeDB

ParadeDB 公开新一轮全文检索计数优化:按 ctid 划分索引段,让全可见页范围跳过逐行校验;反向映射页号与文档编号,只为需要重检的页读取行地址;高频词则使用位图加速交并运算。厂商称,一项计数测试的可见性相关读页由 1382 次降至 30 次,更新数据后的另一项测试读页减少约 95%。文章还比较了元数据过滤和按时间排序,强调查询形态会左右结果。这些测试基于主线提交,既有索引需重建才能使用位图与 ctid 优化。

Supabase 用 pg-delta 补齐模式迁移差异

Andrew Valleteau、Wen Bo XieSupabase

Supabase 详解 Declarative Schemas 2.0:CLI 改用开源 pg-delta 比较真实系统目录,补齐 RLS 策略、授权、视图设置、分区和域类型等迁移差异。工具用临时数据库加载模式与历史迁移,按依赖排序输出 SQL;扩展管理的对象通过扩展接口修改,未知对象可令持续集成失败。新项目默认启用,旧项目需在 CLI 2.119 及以上开启。它仍属 alpha,列改名可能生成删列再加列,执行前须检查数据损失风险。

ClickHouse 批量发送元数据以消除额外网络往返

Kavi KanagarajClickHouse

ClickHouse 复盘了一次简单查询多等约 32 毫秒的问题:结果行已经到达,客户端却仍在等待查询结束标记。原因是连接空闲后 TCP 拥塞窗口缩小,零散发送的日志、进度等元数据包耗尽窗口,迫使服务端再等待一次确认。团队用 Linux 网络命名空间稳定复现,再于应用层合并查询末尾的元数据写入。厂商测试中数据包数量减半,额外往返消失;实时进度仍需及时发送,不能把所有消息一概缓冲。

containerd 修复拉取镜像时的崩溃与磁盘耗尽

containerd 项目containerd

containerd 发布镜像拉取路径的三项安全修复。错误的清单摘要可使默认 CRI 拉取路径崩溃,kubelet 重试还会反复触发;恶意仓库也能发送超出声明大小的层数据,耗尽宿主机磁盘。另一项响应头缺陷只影响启用了并行层下载缓冲的配置,默认配置不受影响。2.4.2、2.3.7 和 2.2.10 修复全部三项问题,2.0.14 修复磁盘耗尽问题。集群应按运行时维护分支核对补丁,并区分默认拉取路径与可选下载配置的风险。

30 条

重设同一密码可让 PgBouncer 的旧密钥失效

Christophe PettusThe Build

PostgreSQL 的 SCRAM 口令每次重设都会生成新盐,即使输入的密码没有变化,存储的认证密钥也不同。Christophe Pettus 用 PostgreSQL 18.6 与 PgBouncer 1.26 实测,静态认证文件中的旧密钥会因此失效,但已有连接仍能工作,故障要到连接池再次建立后端连接时才暴露。文章说明,自动化配置不能只在密码变更时更新文件;使用动态认证查询可避免用户密钥副本过期,同时还须安排查询账号自身的认证方式。

ParadeDB 修复行级安全过滤顺序导致的信息泄露

ParadeDB 项目组ParadeDB

ParadeDB 0.26.1 修复了搜索扩展的行级安全边界:此前自定义扫描下推过滤条件时,没有遵循 PostgreSQL 的安全检查顺序,部分表达式可能先在无权读取的行上执行,再通过报错泄露数据。修复为过滤下推增加安全判定,无法安全下推的条件交回常规过滤,或放弃相应自定义扫描。版本还修正连接查询中丢失 WHERE 条件,以及通用计划参数所在内存过早释放的问题。使用 RLS、连接检索或预备语句的部署应优先核对这些查询路径。

PgDog 修复连接恢复误提交与升主识别

PgDog 项目组PgDog

PostgreSQL 代理 PgDog 0.1.61 修复了后端连接恢复时意外提交流水线请求隐式事务的问题,并把 WAL 时间线纳入升主识别,避免旧主仍可连接时误判拓扑。版本还修正重分片复制的日志位置边界,并把外键校验纳入迁移流程;显式事务只在需要时连接相关分片,以减少连接池占用。插件接口改为逐条处理语句,属于不兼容变化。使用分片、故障切换或自定义插件的部署,应分别核对事务结果、切换行为与接口适配。

Aurora PG 修复存储达到上限后无法启动

Amazon Web ServicesAWS

Amazon Aurora 在 PostgreSQL 14–18 的五条版本线上发布稳定性补丁,修复存储卷达到最大尺寸时,存储元数据可能使数据库无法再次启动的问题。同批更新还修复 Storage Daemon 内部日志增加存储占用的缺陷,涉及实例能否恢复服务与底层空间消耗两个运维环节。此次更新的重点是存储可靠性,使用相关版本的团队可据此核对维护计划,并把接近容量上限的实例纳入升级与恢复验证范围。

Vitess 修复表权限绕过并收紧证书吊销校验

Vitess 项目Vitess

Vitess 24.0.4 修补多条严格表权限检查的绕过路径:无法确定访问表的语句改为拒绝执行,DDL、EXPLAIN、SET 等语句内嵌的读取也纳入权限校验。配置证书吊销列表后,TLS 会话恢复和不同 SSL 模式都会执行检查;证书链或配置无法验证时拒绝连接。版本还移除了旧 vtctld HTTP 管理接口。升级需核对受影响语句与证书配置,混合版本期间,旧 vtgate 保存的含子查询设置可能被新 tablet 拒绝。

Lambda 新形态直接运行 HTTP 服务

Micah WalterAWS

AWS 发布 Lambda Web Functions,让监听端口的 HTTP 应用直接部署到 Lambda,无需改写为事件处理器。每个执行环境最多并发处理 128 个请求,CPU 按实际使用时间计费,等待数据库或外部接口时不按整段墙钟时间计算 CPU 费用,内存仍持续计费。新形态可跨区域复制代码并按延迟路由,也支持按修订分配流量。首发采用 Arm64 与 Node.js 24,覆盖五个区域,并可连接 VPC 内资源。

26 条

PostgreSQL 提交跨类型提前聚合的分组修复

Richard GuoPostgreSQL

PostgreSQL 已提交提前聚合的跨类型分组修复。小整数与整数连接时,优化器此前可能套用另一类型的相等运算符,把不相等的值并为一组,产生错误结果。补丁只允许同类型表达式复用分组规则,同组还修复了外部表与分区连接的处理,避免部分聚合结果被当作普通扫描,并补齐子关系的排序键。三项提交均标注回补至 19,涉及这些查询的测试环境应重新核对结果与执行计划。

PostgreSQL 修复 TLS 重载失败后的连接异常

PostgreSQL 项目PostgreSQL

PostgreSQL 的 SSL 配置重载失败时会保留旧配置,但 PG 19 的 SNI 开关此前可能已经切到新值,导致后续握手访问不存在的主机配置。已提交的修复让握手使用成功加载时的开关值,并复制相关参数,避免重载失败后继续引用失效内存;同组还补上 TLS 销毁与初始化失败时的资源清理。四项修复均标注回补至 19,测试环境可重点复核证书、主机配置热更新后的新连接与回退行为。

TABLESAMPLE 的可重复采样取决于物理地址

Radim MarekboringSQL

Radim Marek 以 PostgreSQL 18.6 的两百万行实验说明,TABLESAMPLE 按物理地址选行。SYSTEM 按页抽样,减少读页,却会让按时间装载的数据成簇入样;BERNOULLI 按行抽样,仍须访问全部页。固定随机种子也无法保证更新或表重写后抽到同一批记录。需要稳定且能保持外键关系的测试子集时,可对主键与相应外键使用同一哈希规则,但要付出全表计算或维护表达式索引的成本。

pg_fts 修复并发漏行并优化排序检索

Greg Burdpg_fts

全文检索扩展 pg_fts 的 1.11、1.12 版本修复多处索引缺陷。并发刷新待处理列表曾可能丢失新行,已删除行也可能残留并误命中;截断锁与页面回收竞态还会导致崩溃。升级不改变磁盘格式,已有索引中的异常条目需用 REINDEX 清理。1.12 缓存词典索引,减少共享缓冲区的反复加锁和访问;词典缓存重建期间取消查询仍可能泄漏内存,常驻会话需留意这一已知问题。

ScyllaDB 修复日志回放与数据文件处理缺陷

ScyllaDB 团队ScyllaDB

ScyllaDB 2026.3.3 修复多处影响恢复与存储可靠性的缺陷:回放损坏日志段时,大事务片段缓存现按分片隔离,避免混入其他分片的数据;刷新 SSTable 目录时,也只处理已完整创建的文件,防止误删仍在生成的组件。更新还处理了日志段分配超时后无法释放、反复发生可阻塞写入的问题,并为 S3 读取重试加入退避与次数上限。正在使用对象存储或执行节点维护的集群,需关注这些恢复与运维路径。

Turso 0.8 用组提交缓解并发写入等待

Pekka EnbergTurso

Turso 0.8 为 BEGIN CONCURRENT 加入组提交,让一批事务共用一次日志 fsync,降低并发写入等待。事务仍须等日志刷盘才可见,持久性约束不变。厂商称,同配置微基准中的吞吐与尾延迟有所改善,但单连接写入仍不及 SQLite,同一行的写冲突仍需重试。该版还补齐窗口函数和递归查询,让全文索引适配 MVCC;Turso Cloud 的 MVCC 仍处技术预览阶段。