PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.139. 版本 8.1.22

> 发布日期: 2010-10-04

这个版本包含各种自8.1.21以来的修复。关于8.1主版本的新特性信息， 请查看第 E.161 节。

PostgreSQL社区将在2010年11月份停止对8.1.X版本系列的更新。 建议用户尽快升级到新的版本分支。

## E.139.1. 迁移到版本 8.1.22

运行8.1.X的用户不需要转储/恢复。不过，如果你是从一个早于8.1.18的版本升级而来， 那么请查看第 E.143 节。

## E.139.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()`中可能的崩溃，通过不允许它被一个参数调用， 该参数不是它打算使用的系统目录字段之一 (Heikki Linnakangas, Tom Lane)

- 修复"不能处理未规划的子查询"错误 (Tom Lane)

  这在子查询包含一个连接别名引用，该引用扩展成一个包含另一个子查询的表达式时发生。

- 阻止show_session_authorization()在自动清理进程中崩溃 (Tom Lane)

- 防止函数返回行类型不是完全相同的记录集 (Tom Lane)

- 当哈希一个通过引用传递的函数结果时，修复可能的失败 (Tao Ma, Tom Lane)

- 当在写入锁文件时，小心的同步它们的内容（`postmaster.pid` 和套接字锁文件） (Tom Lane)

  如果机器在主进程启动之后很快就崩溃，那么这个疏忽会导致损坏锁文件的内容。 转而阻止随后的尝试成功的启动主进程，直到手动移除锁文件。

- 当分配XID到深层嵌套的子事务时，避免递归 (Andres Freund, Robert Haas)

  如果限制了堆栈空间，那么原始的代码会导致一个崩溃。

- 修复`log_line_prefix`的`%i`转义， 它会导致在后台启动时就产生垃圾 (Tom Lane)

- 修复启用归档时，`ALTER TABLE ... SET TABLESPACE` 中可能的数据损坏 (Jeff Davis)

- 允许`CREATE DATABASE`和`ALTER DATABASE ... SET TABLESPACE` 被查询取消中断 (Guillaume Lelarge)

- 在PL/Python中，防止`PyCObject_AsVoidPtr`和 `PyCObject_FromVoidPtr`产生空指针结果 (Peter Eisentraut)

- 改善`contrib/dblink`对包含删除字段的表的处理 (Tom Lane)

- 修复`contrib/dblink`中"重复的连接名" 错误之后的连接泄露 (Itagaki Takahiro)

- 修复`contrib/dblink`，正确的处理连接名字长于62字节 (Itagaki Takahiro)

- 更新建立的基础结构和文档，以反映源代码仓库从CVS搬到了Git (Magnus Hagander and others)

- 更新时区数据文件到tzdata版本20101，因为DST规律在Egypt和Paletine发生了改变； 还有对Finland的历史纠正。

  这个修改还为两个Micronesian时区添加了新的名字：Pacific/Chuuk 现在比Pacific/Truk更受欢迎（并且首选的缩写是CHUT，不是TRUT）， Pacific/Pohnpei比Pacific/Ponape更受欢迎。

上一页 | 起始页 | 下一页
版本 8.1.23 | 上一级 | 版本 8.1.21