E.33. 版本 8.2.15 #
发行日期
2009-12-14
本次发布包含对 8.2.14 的多方面修复。有关 8.2 大版本中新特性的信息,请参见第 E.48 节。.
E.33.1. 迁移到版本 8.2.15
对于运行 8.2.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.2.14 的版本升级,请参阅 8.2.14 的发布说明。
E.33.2. 变更
防范索引函数更改会话局部状态导致的间接安全威胁(Gurjeet Singh、Tom)
此变更防止据称不可变的索引函数可能破坏超级用户的会话(CVE-2009-4136)。
拒绝在公共名(CN)字段中包含嵌入空字节的 SSL 证书(Magnus)
这防止在 SSL 验证期间证书与服务器或客户端名称的非预期匹配(CVE-2009-4034)。
修复后端启动时缓存初始化期间可能的崩溃(Tom)
防止信号在不安全的时刻中断
VACUUM(Alvaro)此修复防止了
VACUUM FULL在已提交其元组移动后被取消时的 PANIC,以及普通VACUUM在截断表之后被中断时的瞬态错误。修复哈希表大小计算中因整数溢出而可能的崩溃(Tom)
这可能发生在规划器对哈希连接结果大小的估计极大时。
修复
inet/cidr比较中非常罕见的崩溃(Chris Mikkelson)确保预备事务所持有的共享元组级锁不被忽略(Heikki)
修复在子事务内访问的游标所用临时文件被过早删除的问题(Heikki)
修复 GiST 索引页分裂的不正确逻辑:当分裂依赖于索引的非首列时(Paul Ramsey)
如果回收或删除旧 WAL 文件在检查点结束时失败,不要报错退出(Heikki)
更好的做法是把该问题视为非致命并允许检查点完成。未来的检查点会重试删除。这类问题在正常运行中不应出现,但已知可能由设计不当的 Windows 反病毒和备份软件引起。
确保 WAL 文件不会在 Windows 上被重复归档(Heikki)
这是其他进程干扰删除不再需要的文件时可能出现的另一种症状。
修复 PAM 口令处理使其更健壮(Tom)
已知以前的代码在 Linux
pam_krb5PAM 模块与 Microsoft Active Directory 域控制器组合下失败。它在其他地方可能也有问题,因为它对 PAM 栈会传递给它什么参数做了无根据的假设。修复
CREATE OR REPLACE FUNCTION期间所有权依赖的处理(Tom)修复从
plperl调用plperlu或相反时的缺陷(Tom)内层函数的错误退出可能因未能为外层函数重新选择正确的 Perl 解释器而导致崩溃。
修复重定义 PL/Perl 函数时的会话期内存泄漏(Tom)
确保 Perl 数组在由返回集合的 PL/Perl 函数返回时被正确转换为 PostgreSQL 数组(Andrew Dunstan、Abhijit Menon-Sen)
对非返回集合的函数这早已正确工作。
修复 PL/Python 异常处理中的罕见崩溃(Peter)
确保 psql 的 flex 模块用正确的系统头文件定义编译(Tom)
这修复了在
--enable-largefile导致生成代码不兼容变更的平台上的构建失败。让 postmaster 忽略连接请求包中的任何
application_name参数,以改进与未来 libpq 版本的兼容性(Tom)更新时区缩写文件以符合当前现实(Joachim Wieland)
这包括把
IDT和SGT加入默认时区缩写集合。把时区数据文件更新为 tzdata 版本 2009s for DST law changes in Antarctica, Argentina, Bangladesh, Fiji, Novokuznetsk, Pakistan, Palestine, Samoa, Syria; also historical corrections for Hong Kong。