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. 变化
防止来自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
实现中的错误(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)用于一些东欧时区。