企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.37\. 发布8.4.16 > **Release Date:** 2013-02-07 该发布包含8.4.15的各种修复。关于8.4主要发布的新功能的信息, 参阅[Section E.53](#calibre_link-49)。 ## E.37.1\. 迁移到版本8.4.16 运行8.4.X不需要备份/恢复。 然而,如果你从8.4.10更早版本更新,参阅8.4.10的发布说明。 ## E.37.2\. 变化 * 防止来自SQL`enum_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 DATABASE`和`DROP DATABASE` 可能行为不当。 * 防止`DROP OWNED`试图删除整个数据库或者表空间(Álvaro Herrera) 为了安全起见,这些对象所有权必须被重新分配,而不是删除。 * 修复[`vacuum_freeze_table_age`](#calibre_link-97) 实现中的错误(Andres Freund) 在安装中不只存在 [`vacuum_freeze_min_age`](#calibre_link-750) 事务, 这个错误防止自动清理使用部分表扫描, 因此相反可能会发生全表扫描。 * 当两次解析分析`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) 用于一些东欧时区。