pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
发行日期:. 2017-11-09
本次发布包含对 9.2.23 的多方面修复。有关 9.2 大版本中新特性的信息,请参见第 E.25 节。.
这预计是 PostgreSQL 9.2.X 系列的最后一个发行版。建议用户尽快更新到较新的发行分支。
修复示例服务器启动脚本在打开 $PGLOG 之前变成
$PGUSER(Noah Misch)
此前,postmaster 日志文件是在仍以 root 运行时打开的。因此数据库所有者可以通过让 $PGLOG 成为指向某个其他文件的符号链接来攻击另一个系统用户,该文件随后会因追加日志消息而被损坏。
默认情况下这些脚本不会安装到任何地方。使用了它们的用户需要手动重新复制,或对其修改版应用相同的更改。如果现有的
$PGLOG 文件为 root 所有,在用修正后的脚本重启服务器之前需要把它移开或重命名。(CVE-2017-12172)
正确拒绝把无穷大浮点值转换为 numeric 类型的尝试(Tom Lane、KaiGai Kohei)
此前行为是与平台相关的。
修复在视图末尾添加列后的边界崩溃(Tom Lane)
在视图或规则包含 FieldSelect 或
FieldStore 表达式节点时记录正确的依赖(Tom Lane)
缺少这些依赖可能允许本应失败的列或数据类型 DROP
成功执行,从而导致之后使用该视图或规则时出错。此补丁不会保护现有视图/规则,只保护将来创建的。
正确检测范围数据类型的可哈希性(Tom Lane)
规划器错误地假定任何范围类型都可以哈希用于哈希连接或哈希聚合,但实际上必须检查范围的子类型是否有哈希支持。这不影响任何内置范围类型,因为它们反正都是可哈希的。
修复因 XID 回卷导致的低概率 NOTIFY 消息丢失(Marko Tiikkaja、Tom Lane)
如果一个会话在超过 20 亿个事务期间不执行查询而只是监听通知,它就开始遗漏来自并发提交事务的一些通知。
防止嵌套触发器触发处理中的低概率崩溃(Tom Lane)
COPY 或 lo_export() 中文件创建失败时正确恢复 umask 设置(Peter Eisentraut)
为 ANALYZE 中的重复列名给出更好的错误消息(Nathan Bossart)
修复 libpq 不要求用户的主目录存在(Tom Lane)
在 v10 中,尝试读取 ~/.pgpass 时找不到主目录被当作硬错误,但它应该只是导致找不到该文件。v10 和以前的发布分支在读取 ~/.pg_service.conf 时犯了同样的错误,不过这不太明显,因为除非指定了服务名否则不寻找该文件。
修复 libpq 防范
PGresult 行数中的整数溢出(Michael Paquier)
把我们的时区库副本与 IANA tzcode2017c 同步(Tom Lane)
这修复了若干问题;唯一可能对用户可见的是,当时区数据目录中没有
posixrules 文件时,POSIX 风格时区名的默认夏令时规则现在匹配当前美国法律而不是十几年前的。
更新时区数据文件到 tzdata 版本 2017c,涉及斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更,加上阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。