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

# E.158. 版本 8.1.3

> 发布日期: 2006-02-14

这个版本包含各种自8.1.2以来的修复，包括一个非常严重的安全问题。 关于8.1主版本的新特性信息，请查看第 E.161 节。

## E.158.1. 迁移到版本 8.1.3

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

## E.158.2. 修改列表

- 修复允许任何登陆的用户为任何其他数据库用户id `SET ROLE`的错误 (CVE-2006-0553)

  由于不充分的有效性检查，用户会开发特殊的情况，`SET ROLE` 通常用于在错误之后恢复以前的角色设置。例如，这允许普通用户请求超级用户身份。 权限的增加只在8.1.0-8.1.2中存在风险。不过，在所有回退到7.3的版本中， 在`SET SESSION AUTHORIZATION`中有一个相关的错误， 允许非特权的用户使服务器崩溃，如果已经启用断言编译了（这不是缺省的）。 感谢Akio Ishida报告这个问题。

- 修复自动插入的行中行可见性逻辑的错误 (Tom)

  在少数情况下，当前命令插入的行可能被看做早已是有效的，而此时不应该是这样的。 修复在8.0.4、7.4.9和7.3.11版本中创建的错误。

- 修复在pg_clog和pg_subtrans文件创建期间会导致"文件早已存在" 错误的竞态条件 (Tom)

- 修复缓存失效消息正好在错误时间到达导致崩溃的情况 (Tom)

- 为预备语句中的`UNKNOWN`参数适当的检查`DOMAIN`约束 (Neil)

- 确保`ALTER COLUMN TYPE`以正确的顺序处理`FOREIGN KEY`、 `UNIQUE`和`PRIMARY KEY`约束 (Nakano Yoshihisa)

- 修复以允许恢复拥有交叉模式引用自定义操作符或操作符类的转储 (Tom)

- 允许pg_restore在`COPY`失败之后正确的继续； 以前它尝试将剩余的`COPY`数据看做SQL命令 (Stephen Frost)

- 当没有指定数据目录时，修复pg_ctl `unregister` 的崩溃 (Magnus)

- 修复libpq `PQprint` HTML标签 (Christoph Zwerschke)

- 修复在AMD64和PPC上的ecpg崩溃 (Neil)

- 允许`SETOF`和`%TYPE` 一起在函数结果类型声明中使用

- 如果错误发生在参数在PL/python中传递期间，那么正确的恢复 (Neil)

- 修复`plperl_return_next`中的内存泄露 (Neil)

- 修复PL/perl在Win32的环境上匹配后端的处理 (Andrew)

- 各种优化器修复 (Tom)

- 修复`log_min_messages`在Win32上设置为`DEBUG3` 或`postgresql.conf`之外时的崩溃 (Bruce)

- 为Win32、Cygwin, OS X、AIX修复pgxs `-L` 的库路径声明 (Bruce)

- 在检查Win32管理员权限时检查SID是否启用 (Magnus)

- 适当的拒绝超出范围的数据输入 (Kris Jurka)

- 可移植性修复，以在配置期间测试`finite`和`isinf`的存在 (Tom)

- 通过避免每个数据行的内核调用，提高`COPY IN`经过libpq的速度 (Alon Goldshuv)

- 提高`/contrib/tsearch2`索引创建的速度 (Tom)

上一页 | 起始页 | 下一页
版本 8.1.4 | 上一级 | 版本 8.1.2