DeepSeek总结的PostgreSQL 18.2 版本发布说明要点

PostgreSQL 18.2 版本发布说明

原文地址:https://www.postgresql.org/docs/release/18.2/
发布日期: 2026年2月12日
适用版本: 18.X 系列
升级要求: 通常情况下无需执行 dump/restore;但如果使用了 ltree 类型的索引,可能需要在更新后重建索引


一、安全漏洞修复(CVE)

编号 问题描述 修复措施
CVE-2026-2003 oidvector / int2vector 类型未校验数组维度与空值 增加输入验证,防止异常行为
CVE-2026-2004 contrib/intarray 的选择性估计函数可被滥用执行任意代码 限制非内置选择性估计函数只能由超级用户使用
CVE-2026-2005 pgcrypto PGP 解密函数存在缓冲区溢出风险 增加对消息格式的严格校验
CVE-2026-2006 多字节字符长度校验不严,可能导致缓冲区溢出 增强字符串处理中的编码校验,可能引发"无效字节序列"错误
CVE-2026-2007 pg_trgm 在某些语言环境下因字符数量变化导致缓冲区溢出 调整大小计算方式,避免溢出

二、主要功能与行为修复

1. 查询优化与执行器
  • CTE 引用层级问题:修正了子查询中 CTE 引用对聚合函数语义的影响,现按标准 SQL 报错。
  • MERGE 触发器行为修复 :修复了 CTE 中同时包含 MERGE 和其他 DML 时,AFTER 触发器未包含 MERGE 影响行的问题。
  • 分区表全子表被裁剪时避免报错:修复了"could not find junk ctid column"错误。
  • 窗口函数去重问题:避免因重复窗口函数调用导致的计划错误。
  • 子查询优化改进:支持将外层限制条件下推到包含 volatile 或 SRF 的 GROUP BY 子句中,避免错误或重复计算。
  • PlaceHolderVar 支持增强:优化统计信息匹配和索引匹配,提升查询计划质量。
2. 索引与存储
  • 部分哈希索引优化:即使索引谓词隐含 WHERE 条件,仍允许使用索引扫描。
  • 未记录 BRIN 索引不再写 WAL:修复崩溃恢复中"文件已存在"错误。
  • GIN 并行构建修复:使用正确的排序函数,避免索引无效或构建失败。
  • ltree 大小写匹配修复 :统一使用数据库默认排序规则,可能需要重建索引
3. 复制与日志
  • NOTIFY 消息处理改进:防止因消息未处理导致 CLOG 被截断;错误升级为 FATAL,确保客户端感知消息丢失。
  • 逻辑复制修复
    • 修复 slot 无效化、xmin 计算、复制进度推进等问题;
    • 修复并行 worker 失败后事务丢失问题;
    • 修复 LOCK_TIMEOUT 被忽略的问题。
  • 增量备份修复 :修复大表被 VACUUM 截断后,pg_combinebackup 失败的问题。
4. 系统工具与扩展
  • pg_dump :修复序列值收集失败、权限不足时错误输出、oauth_validator_libraries 引号问题。
  • pgbench :修复管道模式下多个 \syncpipeline 命令的错误处理。
  • pg_resetwal:支持设置 multixact xid 为 0 或 offset 为 UINT32_MAX,修复升级失败问题。
  • amcheck:修复并发创建索引时的假阳性错误,支持"半死页"和不完整根页分裂。
  • pg_stat_statements:修复查询 ID 计算未考虑 GROUP BY 表达式的问题。
  • pg_buffercache:减少 NUMA 页状态内存占用。

三、平台兼容性与构建修复

  • LLVM JIT:适配 LLVM 17+ 和 LLVM 21,修复 aarch64 编译问题。
  • Solaris / Hurd:修复命令行参数解析与进程标题设置。
  • Windows :支持 O_CLOEXEC 标志,避免子进程继承文件句柄。
  • 文件扩展方法优化 :新增 file_extend_method 参数,可选择使用 posix_fallocate() 或传统写零方式,解决特定文件系统问题(如 BTRFS 压缩失效、XFS ENOSPC 误报)。

四、时间区数据更新

  • 更新为 tzdata 2025c,主要修正墨西哥下加利福尼亚州 1976 年前的历史时间戳。
相关推荐
随风飘的云3 小时前
MySQL的慢查询优化解决思路
数据库
IvorySQL7 小时前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源
赵渝强老师7 小时前
【赵渝强老师】金仓数据库的数据文件
数据库·国产数据库·kingbase·金仓数据库
stark张宇7 小时前
构建第一个AI聊天机器人:Flask+DeepSeek+Postgres实战
人工智能·postgresql·flask
随逸17711 小时前
《Milvus向量数据库从入门到实战,手把手搭建语义检索系统》
数据库
神秘的猪头11 小时前
🚀 React 开发者进阶:RAG 核心——手把手带你玩转 Milvus 向量数据库
数据库·后端·llm
IvorySQL1 天前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
IvorySQL1 天前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源