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

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

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

并发 REPACK 修复 TOAST 重写导致的更新丢失

Shihao ZhongPostgreSQL Git

PostgreSQL 已提交并回补至 19 分支的一项修复,消除了并发 REPACK 中静默丢失大字段更新的风险。此前解码工作进程会先记住 TOAST 表的文件编号,主进程却要等复制数据时才锁表;若期间 VACUUM FULL 重写了 TOAST 表,后续更新便可能被当作其他关系的变更而跳过。补丁将锁定提前到工作进程启动前。这是继新增列默认值问题之后的另一条数据完整性修复,测试 PG19 并发重整时应关注包含该提交的后续构建。

逻辑复制修复并发索引 DDL 导致的漏更新

Mikhail Nikalayeu、Vignesh CPostgreSQL Git

PostgreSQL 逻辑复制应用端的一处竞态已修复,提交说明标明回补至引入问题的 16 分支。应用进程按索引查找目标行时,需要区分副本标识或主键索引与普通索引;此前两次检查之间若发生 DROP INDEX 或 REINDEX,索引身份变化可能让查找失败,并把本应应用的更新当成 update_missing 冲突跳过。补丁将身份判定与索引 OID 一并保存在关系映射中,避免使用不一致的判断。订阅端执行索引维护的团队应关注后续维护版。

并行自动清理修复共享内存不足时的崩溃

Bharath RupireddyPostgreSQL Git

PostgreSQL 已合入并行自动清理的一项崩溃修复,并回补至 19 分支。当系统无法再创建动态共享内存段时,并行框架允许退回零工作进程模式,但相应的内存段指针为空。此前自动清理仍在该指针上注册分离回调,导致工作进程崩溃。补丁仅在实际存在并行工作进程时设置共享成本参数和回调,让资源不足时的回退路径能够正常运行。对于开启该功能的 PG19 测试环境,共享内存容量压力不应再触发这一空指针路径,验证时需使用包含修复的后续构建。

PGDG 仓库 RPM 修正系统小版本跟随逻辑

Devrim GündüzPostgreSQL YUM Repository

PGDG 修复了 RHEL、Rocky Linux 和 AlmaLinux 9、10 的仓库配置包可能永久停留在旧系统小版本的问题。此前仓库 URL 会固化在某个小版本;新配置改用 DNF 的主、小版本变量,随系统升级自动切换。公告同时指出,9.6 自带的 DNF 不识别这些变量,42.0-69 会出现 404,42.0-70 增加了兼容处理。运维人员应更新仓库包,并核对保留的本地配置及 rpmnew 文件,避免包来源与系统版本脱节。

DuckDB 1.5.6 修复错误结果与事务回滚缺陷

DuckDB 维护团队DuckDB GitHub Releases

DuckDB 发布 1.5.6,集中回补多项影响查询正确性和恢复行为的修复。包括超长整数字面量转换为 HUGEINT 时被静默截断、共享连接子树的 UNION ALL 返回错误结果,以及隐式包装的多语句执行失败后未在所有路径自动回滚。窗口 Top-N 消除、含空值的排序表达式和 Parquet 时间类型读写也得到修正,WAL 恢复则调整了覆盖重命名前的文件句柄关闭顺序。使用复杂分析 SQL 或多语句批处理的团队,应以回归样例验证更新。

MySQL 升级后的慢查询需区分计划回退与冷缓存

CHANDANA DA、Sravan Kumar GoganaAWS Database Blog

AWS 发布 Aurora 与 RDS MySQL 升级后性能回退的排查指南,强调应用和数据结构未变并不意味着执行计划保持不变。文章从统计信息、优化器成本模型、连接与排序策略、字符排序规则及参数组差异逐层定位,并用执行计划和实际运行指标验证原因。另一个容易混淆的因素是升级后的冷缓冲池:延迟升高可能来自数据尚未预热,而非优化器选错路径。文中建议保留升级前基线,再按具体机制调整统计采样或查询策略,避免把局部回退简单归因于整个新版本。