选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.3 / 9.2
历史版本PostgreSQL 9.3 已于 2018 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

E.32. 版本 9.2.19 #

发行日期:. 2016-10-27

本次发布包含对 9.2.18 的多方面修复。有关 9.2 大版本中新特性的信息,请参见 第 E.51 节。.

E.32.1. 迁移到版本 9.2.19

对于运行 9.2.X 的用户,不需要进行转储/恢复。

不过,如果你是从早于 9.2.11 的版本升级, 请参见 第 E.40 节

E.32.2. 变更

  • 修复涉及 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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。