PG 主线修复并发重建 TOAST 索引后的缺块错误
PostgreSQL 主线修复并发重建索引时的缓存失效问题。用户表的 TOAST 索引被归为系统关系,部分会话收到失效通知后仍沿用旧标志,未把新写入的大字段块加入新索引。旧索引删除后,读取就会报缺块;数据块仍留在表中,重建索引可修复这一状态。补丁改为重新读取 TOAST 索引状态,并加入并发复现测试。提交注明回补至 PG 14,受影响环境可据此跟踪后续维护版本和既有索引的修复。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
PostgreSQL 主线修复并发重建索引时的缓存失效问题。用户表的 TOAST 索引被归为系统关系,部分会话收到失效通知后仍沿用旧标志,未把新写入的大字段块加入新索引。旧索引删除后,读取就会报缺块;数据块仍留在表中,重建索引可修复这一状态。补丁改为重新读取 TOAST 索引状态,并加入并发复现测试。提交注明回补至 PG 14,受影响环境可据此跟踪后续维护版本和既有索引的修复。
Anonymizer 3.3 修复 12 项安全漏洞,涉及缓存计划、继承表、统计信息和函数调用绕过脱敏,以及越权写入与拒绝服务。新版禁止脱敏规则使用子查询,透明动态脱敏停用函数内联,并限制受保护角色调用采用 SQL 标准函数体的函数。项目建议轮换可能已泄露的盐值;升级还需删除并重建扩展。现有规则应先核验兼容性,尤其关注依赖函数内联的性能,以及静态脱敏后统计信息仍可能残留原值的问题。
逻辑恢复完成后,查询性能还取决于统计信息与可见性图。Nikolay Samokhvalov 用大于内存的数据集对照维护步骤:统计信息缺失会让优化器误估行数,单做分析又不能补齐可见性图,索引仅扫描仍需回表。在其特定测试中,查询从 32.6 秒降到 23 毫秒。PG 19rc1 首次读取还可能补写可见性信息并产生大量 WAL;迁移窗口应预留清理与分析时间,分区父表另行分析,并在接入流量前检查关键执行计划。
pgrust 0.4 测试版引入 Gravity 执行器,以新的中间表示扩展即时编译的平台支持。列式存储加入多版本并发控制与增删改能力,也可在原有行存表上建立列式索引,无需先迁走底层数据。查询算子和缓存共享内存视图,在内存紧张时选择落盘,并新增对 JSONB 内容的统计。项目同时转向持续公开开发;目前仍处于测试阶段,作者提示小内存环境或超大查询可能落盘变慢,部分查询会因内存限制被拒绝。
RocksDB 11.12 修复两类数据完整性问题:可重试后台错误恢复失败后,多列族写批可能只恢复一部分;裁剪列族范围时,边界处的非 L0 文件也可能被误删而丢键。新版本让各列族的 WAL 回放边界原子推进,并修正裁剪判断,同时落实外部表校验和结果。发布还调整外部表接口并移除旧导入选项,嵌入式数据库使用方升级时应同时核对恢复路径和接口兼容性。
Tailscale 1.104.4 修复内置 SSH 服务的权限边界问题。攻击者若已控制获准通过 tailnet 策略连接的设备,在特定转发配置下可能借 tailscaled 的高权限访问 root 专用套接字。新版改为按认证后的 Unix 用户权限执行转发,并处理内存耗尽及 Serve、Funnel 中的缺陷。使用内置 SSH 的团队应升级并复核节点间访问范围,对敏感系统启用额外身份检查,避免已授权连接获得超出预期的系统权限。
读取控制文件时持有锁并先保存内存副本,避免并发写入造成撕裂与启动校验失败;提交注明回补至 PG 15。
新补丁已合入主线,让 NO_GATHER 抑制部分路径生成,并为并行追加的非并行子项生成建议。
扫描开始时重新取凭据,阻止请求头注入并修复 NOT 下推;经普通视图访问时改用视图所有者的用户映射。
约对应 768 GiB 内存,要求 Platform Version 4 和指定引擎版本;旧平台需先通过维护动作升级。
索引定义保存在主库,副本重建后自动恢复;要求 MySQL 8.0 及指定维护版,副本升主时这些索引仍会删除。
Valkey 9.0 及以上的既有节点集群可原位启停持久性;异步模式先响应再落盘,AWS 提醒故障时仍可能损失最多 10 秒数据。
限 Enterprise Plus 和 Java 客户端 2.82.0 及以上,建表后不可更改精度,微秒表暂不支持逻辑视图或连续物化视图。
新版清理主机日志与崩溃转储中的第三方密钥和令牌;此前另存或分享的旧诊断包仍需单独删除或脱敏。