E.37. 发布8.4.16

Release Date: 2013-02-07

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

E.37.1. 迁移到版本8.4.16

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

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

E.37.2. 变化

  • 防止来自SQLenum_recv的执行(Tom Lane)

    该函数被错误声明, 允许简单SQL命令导致服务器崩溃。 原则上攻击者可以使用它检查服务器内存的内容。 我们该感谢Sumit Soni (通过Secunia SVCRP)报告这个问题。(CVE-2013-0255)

  • 当截断关系文件时,更新最小恢复点(Heikki Linnakangas)

    一旦数据被丢弃,在时间轴早一点的位置停止恢复不再安全。

  • 修复SQL语法以允许来自子SELECT结果的下标或者字段选择(Tom Lane)

  • 当扫描pg_tablespace时,防止竞争条件(Stephen Frost, Tom Lane)

    如果有pg_tablespace项的并发更新, 那么CREATE DATABASEDROP DATABASE 可能行为不当。

  • 防止DROP OWNED试图删除整个数据库或者表空间(Álvaro Herrera)

    为了安全起见,这些对象所有权必须被重新分配,而不是删除。

  • 修复vacuum_freeze_table_age 实现中的错误(Andres Freund)

    在安装中不只存在 vacuum_freeze_min_age 事务, 这个错误防止自动清理使用部分表扫描, 因此相反可能会发生全表扫描。

  • 当两次解析分析RowExpr或者XmlExpr的时候, 防止不当操作(Andres Freund, Tom Lane)

    这个错误在上下文中是用户可见的, 比如CREATE TABLE LIKE INCLUDING INDEXES

  • 提高在哈希表大小计算中防御整数溢出(Jeff Davis)

  • 拒绝to_date()中超期范围日期(Hitoshi Harada)

  • 确保非ASCII提示符字符串被翻译成Windows上正确代码页(Alexander Law, Noah Misch)

    这个错误影响psql和一些其它客户端程序。

  • 当没有连接到数据库时, 修复psql的\?命令中可能崩溃(Meng Qingzhong)

  • 修复libpq的PQprintTuples中一字节缓冲区溢出(Xi Wang)

    这个旧的函数通过PostgreSQL自身并不在任何地方使用, 但是它可能被一些客户端代码使用。

  • 使得ecpglib正确使用已翻译消息(Chen Huajun)

  • 在MSVC上正确安装ecpg_compat和 pgtypes库(Jiang Guiqing)

  • 为已提供函数重新安排配置测试, 因此它不会被假输出libedit/libreadline而欺骗(Christoph Berg)

  • 确保随着时间推移Windows编译数增加(Magnus Hagander)

  • 当交叉编译Windows时,使得pgxs生成正确 .exe后缀的可执行文件(Zoltan Boszormenyi)

  • 添加新的时区缩写FET (Tom Lane)

    用于一些东欧时区。