E.85. 版本 9.1.22

E.85.1. 迁移到版本 9.1.22
E.85.2. 修改列表

发布日期:. 2016-05-12

这个版本包含各种自9.1.21以来的修复。关于9.1主版本的新特性信息, 请查看第 E.107 节

PostgreSQL社区将在2016年9月停止发布9.1.X版本系列的更新。 建议用户尽快更新到一个较新的版本分支。

E.85.1. 迁移到版本 9.1.22

运行9.1.X版本的用户不需要转储/恢复。

不过,如果您是从一个早于9.1.16的版本升级而来,那么请查看 第 E.91 节

E.85.2. 修改列表

  • 在OpenSSL调用之前清理OpenSSL错误队列,而不是假设它早已经清理了; 并且确保我们以后清除它 (Peter Geoghegan, Dave Vitek, Peter Eisentraut)

    这个修改阻止了多个连接在一个进程中使用OpenSSL, 并且并非所有包含的代码都遵循何时清理错误序列的规则时的问题。 当一个客户端应用在libpq中使用了SSL连接并同时 SSL连接为OpenSSL使用了PHP、Python或Ruby封装器时, 明确的报告错误。如果一个扩展模块建立了一个外向SSL连接, 那么服务器也有可能出现相似的问题。

  • 使用一个封闭在left join右侧的full join,修复 failed to build any N-way joins 规划器错误 (Tom Lane)

  • 修复to_timestamp()THthY,YYY格式代码可能的错误行为 (Tom Lane)

    这些可能超出输入字符串的末尾,导致后续格式代码读取垃圾。

  • 修复array中规则和视图的转储,该array 参数是value operator ANY (array)构造中的子SELECT (Tom Lane)

  • 使pg_regress使用来自PGCTLTIMEOUT 环境变量的启动超时,如果设置了的话 (Tom Lane)

    这是为了与最近添加到pg_ctl的行为一致; 它简化了慢速机器上的自动测试。

  • 修复pg_upgrade, 以正确恢复仅包含一个操作符类的操作符族的扩展成员 (Tom Lane)

    在这样的情况下,操作符族被恢复到一个新的数据库, 但是它不再标记为该扩展的一部分。这没有立即的不良影响, 但是会导致稍后的pg_dump运行发出会导致恢复时(无害) 错误的输出。

  • 将内部函数strtoi()重命名为strtoint(), 以避免与NetBSD库函数冲突 (Thomas Munro)

  • 修复来自Windows上bind()listen() 系统调用的报告错误 (Tom Lane)

  • 减少用Microsoft Visual Studio构建时编译器的冗长输出 (Christian Ullrich)

  • 避免Windows的FormatMessage()函数可能的不安全使用 (Christian Ullrich)

    适当时使用FORMAT_MESSAGE_IGNORE_INSERTS标识。 已知没有bug存在于这里,但是小心总是没错的。

  • 将时区数据文件更新为tzdata版本2016d, 用于俄罗斯和委内瑞拉的DST法律变更。有新的区域名称 Europe/KirovAsia/Tomsk, 反映这些区域现在具有与相邻区域有不同的时区历史的事实。