选择 打开 改范围 完整检索页

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

不受支持的版本: 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.3 已于 2018 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

E.99. 版本 9.0.1 #

发行日期:. 2010-10-04

本次发布包含对 9.0.0 的多方面修复。有关 9.0 大版本中新特性的信息,请参见 第 E.100 节。.

E.99.1. 迁移到版本 9.0.1

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

E.99.2. 变更

  • 在 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 等)

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。