E.68. 发布8.3.9

发布日期: 2009-12-14

该发布包含来自8.3.8各种修复。关于8.3主要发布中新特性信息, 参阅Section E.77

E.68.1. 迁移到版本8.3.9

运行8.3.X不需要备份/恢复。然而,如果从8.3.8更早版本更新, 参阅8.3.8发布说明。

E.68.2. 变化

  • 保护由索引函数导致的间接安全威胁改变会话本地状态(Gurjeet Singh, Tom)

    这个变化阻止不可改变的索引函数可能破坏超级用户会话(CVE-2009-4136)。

  • 拒绝在普通名字(CN)字段中包含嵌入空字段的SSL证书(Magnus)

    这可以防止SSL验证期间证书意外匹配到服务器或者客户端名称(CVE-2009-4034)。

  • 在后台启动时缓存初始化期间修复可能崩溃(Tom)

  • 避免空的同义词词典崩溃(Tom)

  • 防止在不安全时期信号中断VACUUM(Alvaro)

    它已经提交元组操作之后,如果VACUUM FULL被取消,那么该修复程序阻止了PANIC, 并且如果有一个普通的VACUUM在截断该表之后被中断,那么抛出瞬态错误。

  • 由于哈希表大小计算中整数溢出,修复可能崩溃(Tom)

    这可能会产生对散列结果大小非常大的规划器估计。

  • 修复inet/cidr比较中罕见崩溃(Chris Mikkelson)

  • 确保通过预备事务持有的共享元组级别锁被忽略(Heikki)

  • 修复用于子事务中被访问的游标的临时文件的过早删除(Heikki)

  • 当循环到一个新的CSV日志文件的时候,修复syslogger进程中内存泄露(Tom)

  • 修复Windows许可降级逻辑(Jesse Morris)

    这修复了数据库在Windows上启动失败的一些情况,通常带有误导性错误信息比如 "没有找到匹配的postgres可执行文件"。

  • 当分裂取决于索引非第一列的时候,修复GiST索引页分裂不正确逻辑(Paul Ramsey)

  • 如果在检查点结尾回收利用或者删除旧的WAL文件失败,不要出错误(Heikki)

    更好地将这个问题看作是非致命性的,并且允许检查点来完成。 未来检查点将重新尝试删除。这些问题预计不会在正常操作中, 但都被认为通过错误设计的Windows杀毒和备份软件造成的。

  • 确保Windows上WAL文件不要反复被存档(Heikki)

    如果一些其他进程干扰不再需要文件的删除,那么可能发生另外一种现象。

  • 修复PAM密码处理更加具有鲁棒性(Tom)

    之前代码伴随Linuxpam_krb5 PAM模块和Microsoft Active Directory结合为 域控制器而失败,它可能在其他地方有问题, 因为它采取不合理的假设关于PAM堆栈可能会 传递给它什么参数。

  • 在GSSAPI和SSPI认证方法中提高最大认证令牌(Kerberos标签)大小(Ian Turner)

    当旧的2000字节限制对于Unix Kerberos实现足够的时候, 通过Windows域控制器发出的标签更大。

  • 重启序列访问统计收集(Akira Kurosawa)

    这用于执行但在8.3中被损坏。

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

  • 修复WHERE``_x_=_x_条件的错误处理(Tom)

    在某些情况下这可能作为多余的被忽略,但是它们不是— 它们等同于_x_ IS NOT NULL

  • 使得文本搜索解析器可以接受XML属性中下划线(Peter)

  • 修复xml二进制输入中编码处理(Heikki)

    如果XML头不指定编码,我们假设缺省UTF-8;之前处理是不一致的。

  • 修复从plperlu调用plperl错误或者反之亦然(Tom)

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

  • 当重新定义PL/Perl函数的时候,修复会话存在期内存泄露(Tom)

  • 当通过集合返回PL/Perl函数的时候,确保Perl数组被正确转换为PostgreSQL数组(Andrew Dunstan, Abhijit Menon-Sen)

    为非设置返回返回正确执行。

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

  • contrib/pg_standby中,禁用Windows上带有信号的触发器故障转移(Fujii Masao)

    这从来没有任何有用的,因为Windows不具备Unix风格信号,但最近发生的变化使它真正崩溃。

  • 确保psql的flex模块与正确的系统头定义一起被编译(Tom)

    这修复了平台上编译错误,该平台上--enable-largefile导致产生代码中 不兼容变化。

  • 使postmaster忽略连接请求数据包中任何application_name参数, 以提高未来libpq版本的兼容性(Tom)

  • 更新时区缩写文件以匹配当前情况(Joachim Wieland)

    这包含添加IDTSGT到缺省时区缩写集合。

  • 为了Antarctica, Argentina, Bangladesh, Fiji,Novokuznetsk, Pakistan, Palestine, Samoa, Syria中DST变化更新时区数据文件到tzdata发布2009s; 同时为了Hong Kong历史修正。