E.36. 发布8.4.17

发布日期: 2013-04-04

该发布包含8.4.16的各种修复。关于8.4主要发布的新功能的信息, 参阅Section E.53

E.36.1. 迁移到版本8.4.17

运行8.4.X不需要备份/恢复。

然而,该发布修正了GiST索引管理中的几个错误。 安装这个更新之后,对于REINDEX满足下面描述的一个或者多个条件的任何GiST索引是明智的。

同时,如果你从8.4.10更早版本更新,参阅8.4.10的发布说明。

E.36.2. 变化

  • 在每个postmaster子进程中重置OpenSSL随机状态(Marko Kreen)

    这避免了这样一种情况,其中通过contrib/pgcrypto产生的随机值 可能对于另一个数据库用户相对容易。当postmaster可以配置ssl = on时, 该风险是唯一显著的,但是大多数连接不使用SSL加密。(CVE-2013-1900)

  • 当它不适合这样做的时候,修复GiST索引不使用"模糊"几何比较(Alexander Korotkov)

    核心几何类型执行使用"模糊"平等比较,但是gist_box_same 必须执行精确比较,否则使用它的GiST索引可能变得不一致。 安装该更新之后,用户应该在boxpolygoncircle或者point列上 REINDEX任何GiST索引。 因为所有这些使用gist_box_same

  • 修复不正确的范围并集以及 为了可变宽度数据类型使用 contrib/btree_gist的GiST索引中惩罚逻辑, 也就是text, byteabitnumeric列(Tom Lane)

    这些错误可能导致不一致索引, 其中一些出现的关键字不会被搜索发现, 并且在无用的索引膨胀中, 在安装此更新后建议用户REINDEX这种索引。

  • 修复为多列索引在GiST页中分离代码的错误(Tom Lane)

    这些错误可能导致不一致索引, 其中一些出现的关键字不会被搜索发现, 并且在索引中是不必要的无效的搜索。 在安装此更新后建议用户 REINDEX多列GiST索引。

  • 修复正则表达式编译中无限循环风险(Tom Lane,Don Porter)

  • 修复正则表达式编译中潜在的空指针取消引用(Tom Lane)

  • 修复to_char()在合适的地方使用ASCII大小写折叠规则(Tom Lane)

    这修复了应该区域独立的一些模板模式的不当操作, 但是在Turkish地区胡乱操作"I"和"i"。

  • 修复时间戳1999-12-31 24:00:00的不必要拒绝(Tom Lane)

  • 删除无效的"picksplit不支持二次分裂"日志消息(Josh Hansen, Tom Lane)

    该消息似乎被添加到从未写入的期望代码中, 并且可能从来不是,因为二次分裂的GiST的缺省处理 实际上相当好。 所以停止打扰关于它的最终用户。

  • 修复发送会话的 最后几个事务提交/终止计数到统计收集器的可能错误(Tom Lane)

  • 消除PL/Perl的spi_prepare()函数中内存泄露(Alex Hunsaker, Tom Lane)

  • 修复pg_dumpall以 正确处理包含"="的数据库名字(Heikki Linnakangas)

  • 当给定一个不正确连接字符串时,避免pg_dump崩溃(Heikki Linnakangas)

  • 忽略pg_dump中无效索引(Michael Paquier)

    备份无效索引可能导致恢复时间的问题, 比如如果索引创建失败的原因是它试图强制 不满足表的数据的唯一性条件。同时,如果索引创建实际上仍然在进行中, 认为它是一个不受约束的DDL变化似乎是合理的,其中pg_dump 不期望备份。

  • 修复contrib/pg_trgmsimilarity() 函数为少于三个的字符串返回零(Tom Lane)

    以前它返回NaN由于内部除以零。

  • 为了Chile, Haiti, Morocco, Paraguay和一些Russian区域中DST变化规律更 新时间区域数据文件到tzdata发布2013b。 同时为更多地方修正历史区域数据。

    另外,在Russia和其他地方更新最近变化的时区缩写文件:CHOT, GET, IRKT, KGT, KRAT, MAGT, MAWT, MSK, NOVT, OMST, TKT, VLAT, WST, YAKT, YEKT现在遵从它们当前意义,并且 VOLT (Europe/Volgograd)和MIST (Antarctica/Macquarie)被添加到缺省缩写列表中。