E.61. 发布8.3.16

发布日期: 2011-09-26

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

E.61.1. 迁移到版本8.3.16

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

E.61.2. 变化

  • 修复存在疑问HOT更新元组的索引中错误(Tom Lane)

    该错误导致在重新索引系统目录之后索引损坏。 他们不认为会影响用户索引。

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

    发生的概率很低,但是这些可能导致索引损坏。

  • 修复tsvector_concat()中可能的缓冲区溢出(Tom Lane)

    该函数可能低估了该结果需要内存量,导致服务器崩溃。

  • 当处理"standalone"参数的时候,修复xml_recv中崩溃(Tom Lane)

  • 可能避免ANALYZE中以及SJIS-2004编码转换中访问内存结尾(Noah Misch)

    这修复了一些概率较低的服务器崩溃情况。

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

    有一个窗口,其中一个新的后端进程可以读取一个陈旧的启动文件, 但错过了可能告诉它数据是陈旧的无效消息。 其结果在目录访问中可能是古怪错误,通常在启动过程之后"无法读取文件中块0..."。

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

    执行许多单独的GiST索引扫描命令,比如 已经含有许多行的表中基于排斥约束新的GiST验证, 由于该泄露,可能瞬时需要大量内存。

  • 当构建大的,有损耗位图的时候,修复性能问题(Tom Lane)

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

    这避免了规划器将认为语义相同常数是不相等的,导致劣质优化。

  • 解决打断WAL回放gcc 4.6.0错误(Tom Lane)

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

  • 为视图中VALUES修复备份错误(Tom Lane)

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

    该操作不能像预期那样执行,并且可能导致错误。

  • 当计算哈希表大小的时候,防御整数溢出(Tom Lane)

  • 修复CLUSTER可能尝试访问已删除TOAST数据的情况(Tom Lane)

  • 修复为"peer"认证使用凭证控制信息中的可移植错误(Tom Lane)

  • 当需要多个往返时,修复SSPI登录(Ahmed Shinwari,Magnus Hagander)

    这个错误典型现象是在SSPI登录期间"不支持函数需求"错误。

  • 修复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)

  • 在pg_ctl中,为Windows上服务注册支持静止模式(MauMau)

  • 在从一个不同文件进行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()错误的服务器报告回应是明智的。

  • 为SSL错误优化libpq的错误报告(Tom Lane)

  • 采用ecpglib书写带有15位精度的double值(Akira Kurosawa)

  • 在ecpglib中,确保LC_NUMERIC设置在错误之后被恢复(Michael Meskes)

  • 为加密符号字符错误(CVE-2011-2483)请求上游修复(Tom Lane)

    contrib/pg_crypto的加密代码可能给定错误结果,在char是有符号平台上(这是大多数情况), 导致加密密码比他们应该的更弱。

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

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

  • 允许使用perl 5.14编译(Alex Hunsaker)

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

    在8.3和8.2中使用的autoconf的版本可能通过执行链接时优化编译器被愚弄。

  • 修复编译和安装包含空格的文件路径的各种错误(Tom Lane)

  • 为Canada, Egypt, Russia, Samoa和South Sudan中DST变化更新时区数据文件到 tzdata发布2011i。