pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
发行日期:. 2016-10-27
本次发布包含对 9.2.18 的多方面修复。有关 9.2 大版本中新特性的信息,请参见 第 E.51 节。.
修复涉及 CTE 扫描的 EvalPlanQual 重新检查(Tom Lane)
重新检查总是把 CTE 视为不返回任何行,通常导致无法更新最近已更新的行。
修复子查询中哈希聚合不当重复先前结果的问题(Andrew Gierth)
判断能否复用先前计算的聚合状态值哈希表的测试,忽略了聚合参数表达式中出现外层查询引用的可能性。这种引用的值发生变化时本应重新计算哈希表,但实际没有。
修复 track_io_timing 打开时 EXPLAIN 发出有效 XML(Markus Winand)
此前 XML 输出格式选项产生语法无效的标记,如 <I/O-Read-Time>。现在它被渲染为 <I-O-Read-Time>。
抑制在 EXPLAIN 中为未测量的时间打印零值(Maksim Milyutin)
某些选项组合会为在该组合下实际上从不测量的时间打印零值。EXPLAIN 的一般策略是完全不打印此类字段,因此在所有情况下都保持一致。
修复 VACUUM 为截断表而等待排他表锁时的超时长度(Simon Riggs)
该超时本应为 50 毫秒,但实际上只有 50 微秒,导致 VACUUM 比预期更容易放弃截断。将其设置为预期值。
修复创建或更改表时合并继承 CHECK 约束的 bug (Tom Lane、Amit Langote)
允许以任一顺序向父表和子表添加相同的 CHECK 约束。 防止父表的有效约束与子表的 NOT VALID 约束合并。 同样防止 NO INHERIT 子约束与继承约束合并。
移除对 numeric_in() 和 numeric_recv() 所接受值的人为限制(Tom Lane)
我们允许数值达到存储格式的极限(超过 1e100000),因此 numeric_in() 拒绝科学计数法指数超过 1000 的做法相当无意义。同样,numeric_recv() 拒绝输入值超过 1000 位数字也很荒谬。
避免因未持有缓冲区锁测试元组可见性而导致的极低概率数据损坏 (Thomas Munro、Peter Geoghegan、Tom Lane)
修复截断超过 1GB 的临时关系时文件描述符泄漏的问题(Andres Freund)
禁止在启用 standby_mode 的情况下启动独立后端(Michael Paquier)
这不可能有任何用处,因为不会有 WAL 接收器进程来获取更多 WAL 数据;而且这可能导致未针对此种情况设计的代码出现不当行为。
不要在 libpq 中跨多个连接共享 SSL 上下文 (Heikki Linnakangas)
这导致了各种边界情况 bug,特别是当尝试对不同连接使用不同 SSL 参数时。
避免 libpq 中的边界情况内存泄漏 (Tom Lane)
报告的问题涉及 PQreset() 期间泄漏错误报告,但 可能有相关情况。
使 ecpg 的 --help 和 --version 选项与其他可执行程序保持一致(Haribabu Kommi)
在 pg_dump 中,永不转储范围构造函数(Tom Lane)
这一疏漏导致包含范围类型的扩展在 pg_upgrade 时因重复创建构造函数而失败。
修复 contrib/intarray/bench/bench.pl,使其在给定 -e 选项时打印它执行的 EXPLAIN 的结果(Daniel Gustafsson)
更新 Windows 时区映射,以识别较新 Windows 版本中新增的一些时区名称(Michael Paquier)
防止已过时的动态时区缩写失效(Tom Lane)
如果动态时区缩写与所引用时区中的任何条目都不匹配,就把它视为等效于该时区名称。这避免了当 IANA 从其时区数据库中移除缩写时出现意外失败——他们在 tzdata 2016f 版中就这样做过,而且将来可能再次这样做。后果不仅限于无法识别单个缩写;任何不匹配都会导致 pg_timezone_abbrevs 视图完全失败。
更新时区数据文件到 tzdata 版本 2016h,涉及 巴勒斯坦和土耳其的夏令时法规变更,加上土耳其和俄罗斯一些地区的 历史修正。南极洲、前苏联和斯里兰卡的一些时区改用数字缩写。
IANA 时区数据库以前为所有时区提供文本缩写,有时编造在当地居民中 几乎或完全没有使用的缩写。他们正在逆转这一政策,改为在没有证据 表明实际使用英文缩写的区域使用数字 UTC 偏移。至少目前, PostgreSQL 将继续接受这种被移除的缩写 用于时间戳输入。但它们不会显示在 pg_timezone_names 视图中,也不用于输出。
在此更新中,AMT 不再显示为表示亚美尼亚时间。因此 我们把 Default 缩写集改为把它解释为亚马逊时 间,即 UTC-4 而不是 UTC+4。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。