E.79. 版本 8.2.22

发布日期: 2011-09-26

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

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

E.79.1. 迁移到版本 8.2.22

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

E.79.2. 修改列表

  • 修复GiST索引页分裂处理中的多个错误 (Heikki Linnakangas)

    发生的可能性很低,但是会导致索引损坏。

  • 避免ANALYZE中可能的访问关闭内存的结尾 (Noah Misch)

    这修复了一个非常低可能的服务器崩溃情况。

  • 修复relcache初始化文件失效中的竞态条件 (Tom Lane)

    新的后端进程中有一个窗口会读取陈旧的初始化文件, 但是错过会告诉它该数据是陈旧的的inval消息。 结果会是目录访问中奇怪的失败,典型的是在启动后 "could not read block 0 in file ..."。

  • 修复GiST索引扫描结束时的内存泄露 (Tom Lane)

    执行许多独立GiST索引扫描的命令,比如在一个早已包含许多行的表上新建基于GiST的排除约束的验证, 由于这个泄露,可能会在瞬间需要大量的内存。

  • 修复构建一个大型的、有损耗的位图时的性能问题 (Tom Lane)

  • 修复数组和路径创建函数,确保填充字节是零 (Tom Lane)

    这避免了一些规划器认为语义上相等的常数不等,导致欠佳的最优化的情况。

  • 绕开中断WAL重放的gcc 4.6.0 bug (Tom Lane)

    这可能导致在服务器崩溃后丢失已提交的事务。

  • 修复一个视图中VALUES的转储bug (Tom Lane)

  • 不允许在一个序列上SELECT FOR UPDATE/SHARE (Tom Lane)

    这个操作不想预期的那样工作,并且会导致失败。

  • 计算一个哈希表的大小时,防止整数溢出 (Tom Lane)

  • 修复"peer"认证的证书控制消息中正在使用的潜在的bug (Tom Lane)

  • 修复pg_srand48种子的初始化中的打印错误 (Andres Freund)

    这导致未能使用提供的种子的所有位。这个函数没有在大多数平台上使用 (只有那些没有srandom的平台),并且在任何情况下, 比预期的随机少的多下种子似乎很小,有潜在的安全风险。

  • LIMITOFFSET值的和超过2^63时, 避免整数溢出 (Heikki Linnakangas)

  • 添加溢出检查到generate_series()int4int8版本 (Robert Haas)

  • 修复to_char()中的尾随零的删除 (Marti Raudsepp)

    FM并且小数点后没有数字位的格式中,小数点左侧的零可能会被错误的删除。

  • 修复pg_size_pretty(),避免接近2^63的输入溢出 (Tom Lane)

  • 修复从一个不同的文件COPY期间,psql 的脚本文件行号的计数 (Tom Lane)

  • standard_conforming_strings修复pg_restore 的直接到数据库模式 (Tom Lane)

    当从一个standard_conforming_strings设置为on 制作的归档文件中直接恢复到一个数据库服务器时,pg_restore 可能发出不正确的命令。

  • 修复libpq的LDAP服务查找代码中的过去写缓冲区结束和内存泄露 (Albe Laurenz)

  • 在libpq中,避免使用非闭塞的I/O和SSL连接时的失败 (Martin Pihlak, Tom Lane)

  • 改善连接启动期间libpq对失败的处理 (Tom Lane)

    特别的,SSL连接启动期间响应fork()失败的服务报告现在更加理智。

  • 让ecpglib用15位精度写double值 (Akira Kurosawa)

  • 为blowfish带符号字符bug应用逆向修复 (CVE-2011-2483)

    contrib/pg_crypto的blowfish加密代码在字符是有符号的平台上 (大多数是这样)会给出错误的结果,导致加密的口令比应该的要弱。

  • 修复contrib/seg中的内存泄露 (Heikki Linnakangas)

  • 修复pgstatindex(),为空索引给出一致的结果 (Tom Lane)

  • 允许使用perl 5.14建立 (Alex Hunsaker)

  • 为系统函数存在的检测更新配置脚本的方法 (Tom Lane)

    我们在8.3和8.2中使用的autoconf版本会被执行连接时优化的编译器愚弄。

  • 修复建立和安装文件路径包含空格的各种问题 (Tom Lane)

  • 更新时区数据文件到tzdata版本2011i, 因为DST规律在Canada、Egypt、Russia、Samoa和South Sudan发生了改变。