E.86. 版本 8.2.15

发布日期: 2009-12-14

这个版本包含各种自8.2.14以来的修复。关于8.2主版本的新特性信息, 请查看Section E.101

E.86.1. 迁移到版本 8.2.15

运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.14的版本升级而来, 那么请查看8.2.14的版本声明。

E.86.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_krb5 PAM模块和微软活动目录作为域控制器时会失败。 可能在其他地方也会有问题,因为它关于PAM堆栈会传送来什么参数做了不正确的假设。

  • 修复CREATE OR REPLACE FUNCTION期间所有权依赖关系的处理 (Tom)

  • 修复从plperlu调用plperl或反过来调用时的bug (Tom)

    从内部函数出错退出会导致由于未能为外部函数重新选择正确的Perl解释器而崩溃。

  • 修复PL/Perl函数重新定义了时会话寿命内存泄露 (Tom)

  • 确保当通过设置返回PL/Perl函数返回时,Perl数组正确的转换到了 PostgreSQL数组 (Andrew Dunstan, Abhijit Menon-Sen)

    非设置返回函数早已正确的工作了。

  • 修复PL/Python异常处理中罕见的崩溃 (Peter)

  • 确保psql的flex模块是用正确的系统头文件定义编译的 (Tom)

    这修复了在--enable-largefile导致生成的代码中不兼容的变化的平台上的建立失败。

  • 让主进程忽略连接请求包中的任何application_name参数, 以提高和未来libpq版本的兼容性 (Tom)

  • 更新时区缩写文件,匹配当前的实际情况 (Joachim Wieland)

    这包括添加IDTSGT到缺省的时区缩写设置。

  • 更新时区数据文件到tzdata版本2009s, 因为DST规律在Antarctica、Argentina、Bangladesh, Fiji、Novokuznetsk、 Pakistan、Palestine、Samoa、Syria发生了变化;还为Hong Kong做了历史纠正。