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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.5.12 的版本变更

本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。

查看该版本全部变更
查看该版本全部变更

从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。

收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。

本次发布的全部变更

9.5.12

2018-03-01

导出 JSON
7项变更功能、修复与改进
1次版本发布按发行版本归档
1个 CVE本版说明中提及的漏洞编号

9.5.12 历史版本维护截止 2021-02-11

本版提及的安全记录 1 个 CVE
本版发布说明提及的 CVE,可能包含已有漏洞的后续修复
CVE / 问题严重程度修复版本
CVE-2018-1058

记录如何配置安装和应用以防受其他用户依赖 search_path 的特洛伊木马攻击

8.89.5.12

PostgreSQL 9.5.12

升级与兼容性说明

对于运行 9.5.X 的用户,不需要转储/恢复。

不过,如果你运行的安装中并非所有用户都相互信任,或者你维护打算在任意场合使用的应用或扩展,强烈建议阅读下面第一条变更日志条目所述的文档更改,并采取适当步骤确保你的安装或代码安全。

另外,下面第二条变更日志条目所述的更改可能导致索引表达式或物化视图中使用的函数在自动分析期间或从转储重新装载时失败。升级之后,请监控服务器日志中此类问题,并修复受影响的函数。

另外,如果你是从 9.5.10 之前的版本升级,参见第 E.16 节。

安全相关记录如何配置安装和应用以防受其他用户依赖 search_path 的特洛伊木马攻击

变更

记录如何配置安装和应用以防受其他用户依赖 search_path 的特洛伊木马攻击(Noah Misch)

使用包含任何可被恶意用户写入的模式的 search_path 设置,会使该用户能够截获查询的控制,然后以被攻击用户的权限运行任意 SQL 代码。虽然可以写出能防范此类劫持的查询,但记法上很繁琐,而且很容易遗漏漏洞。因此,我们现在推荐不把任何不受信任模式放入搜索路径的配置。相关文档见第 5.8.6 节(面向数据库管理员和用户)、第 31.1 节(面向应用作者)、第 35.15.5 节(面向扩展作者)和CREATE FUNCTION(面向 SECURITY DEFINER 函数的作者)。(CVE-2018-1058)

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

安全相关避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置

变更

避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置(Noah Misch、Tom Lane)

pg_dump、pg_upgrade、 vacuumdb 等 PostgreSQL 自带的应用本身也容易受到上一条变更日志条目所述劫持的影响;由于这些应用通常由超级用户运行,它们是特别有吸引力的目标。为使它们无论整个安装是否已被加固都安全,修改它们使其 search_path 设置只包含 pg_catalog 模式。自动清理工作者进程现在也同样如此。

当用户提供的函数被这些程序间接执行时(例如索引表达式中的用户提供函数),更严格的 search_path 可能导致错误,需要通过调整这些用户提供的函数使其不对被调用时的搜索路径做任何假定来更正。这从来都是良好实践,但现在这是正确行为的必要条件。(CVE-2018-1058)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复子计划中出现 CTE 引用时并发更新重检查的错误行为

变更

修复子计划中出现 CTE 引用时并发更新重检查的错误行为(Tom Lane)

如果 CTE(WITH 子句引用)被用于 InitPlan 或 SubPlan,且查询因试图更新或锁定并发更新的行而需要重检查,可能得到错误结果。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复外连接中重叠 mergejoin 子句导致的规划器失败

变更

修复外连接中重叠 mergejoin 子句导致的规划器失败(Tom Lane)

这些错误在边界情况下导致 “left and right pathkeys do not match in mergejoin” 或 “outer pathkeys do not match mergeclauses” 规划器错误。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题

变更

修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题(Tom Lane、Andres Freund)

这一疏漏可能导致升级后物化视图中的数据损坏,表现为 “could not access status of transaction” 或 “found xmin from before relfrozenxid” 错误。很少刷新的物化视图,或只用 REFRESH MATERIALIZED VIEW CONCURRENTLY 维护的物化视图更可能出现问题。

如果观察到这种损坏,可以通过刷新物化视图(不带 CONCURRENTLY)来修复。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告

变更

修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告(Tom Lane)

嵌套 PL/Python 函数调用(即通过 SPI 查询从另一个 PL/Python 函数到达的调用)中发生的错误会导致栈跟踪把内层函数名显示两次,而不是预期的结果。此外,嵌套 PL/Python DO 块中的错误在某些平台上可能导致空指针解引用崩溃。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX,即约 24 天而不是 35 分钟

变更

允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX,即约 24 天而不是 35 分钟(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

这份对比如何生成?

对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。

条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。

同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。

CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。

交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。