发布日期:. 2006-02-14
这个版本包含各种自8.1.2以来的修复,包括一个非常严重的安全问题。 关于8.1主版本的新特性信息,请查看第 E.226 节。
运行8.1.X的用户不需要转储/恢复。不过,如果你是从一个早于8.1.2的版本升级而来, 那么请查看第 E.224 节。
修复允许任何登录的用户为任何其他数据库用户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、macOS、AIX修复pgxs -L
的库路径声明 (Bruce)
在检查Win32管理员权限时检查SID是否启用 (Magnus)
适当的拒绝超出范围的数据输入 (Kris Jurka)
可移植性修复,以在配置期间测试finite
和isinf
的存在 (Tom)
通过避免每个数据行的内核调用,提高COPY IN
经过libpq的速度 (Alon Goldshuv)
提高/contrib/tsearch2
索引创建的速度 (Tom)