E.5. 版本 9.5.1
发布日期: 2016-02-11
这个版本包含各种自9.5.0以来的修复。关于9.5主版本的新特性信息, 请查看第 E.6 节。
E.5.1. 迁移到版本 9.5.1
运行9.5.X版本的用户不需要转储/恢复。
E.5.2. 修改列表
-
修复正则表达式中无限循环和缓冲区溢出问题 (Tom Lane)
在某些情况下,括号表达式中非常大的字符范围可能会导致无限循环, 并且在其他情况下内存会覆盖。 (CVE-2016-0773)
修复一个疏忽,导致散列连接在极少数情况下错过加入内部关系的一些元组 (Tomas Vondra, Tom Lane)
当使用分组集时,避免下推HAVING子句 (Andrew Gierth)
修复对ON CONFLICT arbiter WHERE子句的解析 (Peter Geoghegan)
-
让log_line_prefix中的%h 和%r转义可用于log_connections 发出的消息 (Tom Lane)
以前,%h/%r仅在新会话发出"connection received" 日志消息后开始工作;现在它们也用于该消息。
避免在SSPI认证期间泄露令牌句柄 (Christian Ullrich)
修复psql的\det命令, 与其他\d命令潜在模式限定模式相同的方式解释其模式参数 (Reece Hart)
在Windows上的pg_ctl中,检查服务器状态以决定输出发送到哪里, 而不是检查标准输出是否是终端 (Michael Paquier)
修复pg_dump处理扩展成员对象中的各种极端错误 (Tom Lane)
修复pg_dump中对域约束名的不正确引用 (Elvis Pranskevichus)
让pg_dump标记一个视图的触发器需要在其规则之后处理, 以阻止并行pg_restore期间可能的失败 (Tom Lane)
在评估脚本指定的除法或模运算符期间,在pgbench 中安装保护防止极端溢出条件 (Fabien Coelho, Michael Paquier)
当pg_receivexlog连接到9.4之前的服务器时, 禁止无用的警告消息 (Marco Nenciarini)
-
在使用plPython2和plpython3 时,避免转储/重载问题 (Tom Lane)
原则上,两个版本的PL/Python可以在同一个数据库中使用, 虽然不在同一个会话中(因为libpython的两个版本不能安全地同时使用)。 然而,pg_restore和pg_upgrade 两者做的事情会使同一个会话限制冲突。通过改变检查的时间来解决。
修复PL/Python回归测试以通过Python 3.5 (Peter Eisentraut)
-
阻止某些PL/Java参数被非超级用户设置 (Noah Misch)
此更改通过将这些参数标记为仅限超级用户来缓解PL/Java 安全性错误(CVE-2016-0766),该错误在PL/Java中已修复。 为了修复PostgreSQL比PL/Java 更频繁更新的站点安全隐患,让核心代码也知道它们。
-
修复ecpg提供的头文件不包含从预处理器指令行继续到下一行的注释 (Michael Meskes)
这样的注释被ecpg拒绝。目前还不清楚是否应该更改 ecpg本身。
-
修复
hstore_to_json_loose()
, 测试hstore值是否可以转换为JSON数字 (Tom Lane)以前,此函数可能被非字母数字的尾随字符欺骗,导致发出句法上无效的JSON。
在contrib/postgres_fdw中,修复在数据修改命令中使用 tableoid触发的错误 (Etsuro Fujita, Robert Haas)
修正NAMEDATALEN限制为小于256的不明智建议(Robert Haas, Tom Lane)
-
通过确保文件名以固定顺序提供给链接器来提高构建输出的可重复性 (Christoph Berg)
这避免了从一个构建到下一个构建生成的可执行文件的可能的逐位差异。
确保dynloader.h包含在MSVC版本中安装的头文件中 (Bruce Momjian, Michael Paquier)
将时区数据文件更新为tzdata release 2016a, 用于开曼群岛,Metlakatla和Trans-Baikal Territory(Zabaykalsky Krai)的DST法律变更, 以及巴基斯坦的历史修正。