pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2010-10-04
9.0.1 历史版本维护截止 2015-10-08
| CVE / 问题 | 严重程度 | 修复版本 |
|---|---|---|
| CVE-2010-3433 在 PL/Perl 和 PL/Tcl 中为每个调用方 SQL 用户 ID 使用单独的解释器 | — | 9.0.1 |
对于运行 9.0.X 的用户,不需要进行转储/恢复。
变更
在 PL/Perl 和 PL/Tcl 中为每个调用方 SQL 用户 ID 使用单独的解释器(Tom Lane)
此变更防止了可通过破坏稍后将在同一会话中以另一 SQL 用户身份执行的 Perl 或 Tcl 代码(例如在 SECURITY DEFINER 函数内)而造成的安全问题。大多数脚本语言都提供许多实现这一点的手段,例如重新定义目标函数调用的标准函数或操作符。如果没有此变更,任何拥有 Perl 或 Tcl 语言使用权的 SQL 用户基本上都能以目标函数所有者的 SQL 权限为所欲为。
此变更的代价是 Perl 和 Tcl 函数之间的有意通信变得更困难。为提供出路,PL/PerlU 和 PL/TclU 函数继续每会话只使用一个解释器。这不被视为安全问题,因为所有这类函数本来就以数据库超级用户的信任级别执行。
声称提供可信执行的第三方过程语言很可能存在类似的安全问题。我们建议就安全关键用途联系你所依赖的任何 PL 的作者。
感谢 Tim Bunce 指出此问题(CVE-2010-3433)。
变更
改进 pg_get_expr() 的安全修复,使该函数仍可用于子 SELECT 的输出(Tom Lane)
变更
修复占位符求值位置不正确的问题(Tom Lane)
当外连接的内侧是输出列表中含非严格表达式的子 SELECT 时,该缺陷可能导致本应为空的查询输出非空。
变更
修复连接消除对占位符表达式的处理(Tom Lane)
变更
修复 UNION ALL 成员关系可能被重复扫描的问题(Tom Lane)
变更
防止取消监听后 ProcessIncomingNotify() 中的无限循环(Jeff Davis)
变更
防止 show_session_authorization() 在自动清理进程中崩溃(Tom Lane)
变更
重新允许输入公元 0001-01-01 之前的儒略日期(Tom Lane)
像 'J100000'::date 这样的输入在 8.4 之前可行,但被新增的错误检查无意中破坏。
变更
让 psql 在自动提交关闭模式下把 DISCARD ALL 识别为不应包裹在事务块中的命令(Itagaki Takahiro)
变更
更新构建基础设施和文档,反映源代码仓库从 CVS 迁移到 Git 的变化(Magnus Hagander 等)
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。