企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.68\. 发布8.3.9 > **发布日期:** 2009-12-14 该发布包含来自8.3.8各种修复。关于8.3主要发布中新特性信息, 参阅[Section E.77](#calibre_link-34)。 ## 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) 之前代码伴随Linux`pam_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) 这包含添加`IDT`和`SGT`到缺省时区缩写集合。 * 为了Antarctica, Argentina, Bangladesh, Fiji,Novokuznetsk, Pakistan, Palestine, Samoa, Syria中DST变化更新时区数据文件到tzdata发布2009s; 同时为了Hong Kong历史修正。