E.122. 版本 8.1.3
发布日期: 2006-02-14
这个版本包含各种自8.1.2以来的修复,包括一个非常严重的安全问题。 关于8.1主版本的新特性信息,请查看Section E.125。
E.122.1. 迁移到版本 8.1.3
运行8.1.X的用户不需要转储/恢复。不过,如果你是从一个早于8.1.2的版本升级而来, 那么请查看8.1.2的版本声明。
E.122.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)