pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2011-01-31
9.0.3 历史版本维护截止 2015-10-08
| CVE / 问题 | 严重程度 | 修复版本 |
|---|---|---|
| CVE-2010-4015 修复 contrib/intarray 的 query_int 类型输入函数中的缓冲区越界 | — | 9.0.3 |
对于运行 9.0.X 的用户,不需要进行转储/恢复。
变更
在退出 walreceiver 之前,确保所有已接收的 WAL 都已 fsync 到磁盘(Heikki Linnakangas)
否则备库服务器可能重放一些未同步的 WAL,如果系统恰好在那时崩溃,可想而知会导致数据损坏。
变更
避免 walreceiver 中过多的 fsync 活动(Heikki Linnakangas)
变更
让 ALTER TABLE 在需要时重新验证唯一性和排他约束(Noah Misch)
这在 9.0 中被一个本意是抑制 VACUUM FULL 和 CLUSTER 期间重新验证的变更破坏,但该变更无意中也影响了 ALTER TABLE。
变更
修复对表不完全相同的继承树执行 UPDATE 时 EvalPlanQual 的问题(Tom Lane)
表行类型的任何变化(包括只存在于部分子表中的已删除列)都会混淆 EvalPlanQual 代码,导致行为异常甚至崩溃。由于 EvalPlanQual 只在同一行的并发更新期间执行,该问题只是间歇性出现。
变更
避免 EXPLAIN 尝试显示简单形式 CASE 表达式时的失败(Tom Lane)
如果 CASE 的测试表达式是常量,规划器可能把 CASE 简化为令表达式显示代码困惑的形式,导致 “unexpected CASE WHEN clause” 错误。
变更
修复对现有下标范围之前的数组切片赋值的问题(Tom Lane)
如果新增下标与第一个既有下标之间存在间隙,代码会错误计算需要从旧数组的空值位图复制多少条目,可能导致数据损坏或崩溃。
变更
避免规划器对非常久远的日期值出现意外的转换溢出(Tom Lane)
date 类型支持的日期范围比 timestamp 类型能表示的更宽,但规划器假定它总是可以不受惩罚地把 date 转换为 timestamp。
变更
修复数组包含空条目时 PL/Python 的崩溃(Alex Hunsaker)
变更
移除 ecpg 对定义数组维度的常量的固定长度限制(Michael Meskes)
变更
修复对包含 ... & !(subexpression) | ... 的 tsquery 值的错误解析(Tom Lane)
包含这种操作符组合的查询没有被正确执行。同样的错误也存在于 contrib/intarray 的 query_int 类型和 contrib/ltree 的 ltxtquery 类型中。
变更
修复 contrib/intarray 的 query_int 类型输入函数中的缓冲区越界(Apple)
该缺陷构成安全风险,因为函数的返回地址可能被覆写。感谢 Apple Inc 的安全团队报告此问题并提供修复。(CVE-2010-4015)
变更
修复 contrib/seg 的 GiST picksplit 算法中的缺陷(Alexander Korotkov)
这可能导致 seg 列上的 GiST 索引相当低效,尽管答案并非真正错误。如果你有这样的索引,考虑在安装此更新后对其执行 REINDEX。(这与上一次更新中在 contrib/cube 中修复的缺陷相同。)
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。