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

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

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

E.4. 版本 9.4.23 #

发布日期:. 2019-06-20

本发行版包含对 9.4.22 的多项修复。有关 9.4 主版本中新功能的信息,请参见第 E.27 节

PostgreSQL社区将于 2020 年 2 月停止发布 9.4.X 系列的更新。 建议用户尽快更新到较新的版本分支。

E.4.1. 迁移到版本 9.4.23

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

但是,如果你是从早于 9.4.18 的版本升级,请参见第 E.9 节

E.4.2. 变更

  • 修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败(Tom Lane)

  • 修复带重复连接名的查询的错误打印(Philip Dubé)

    这一疏漏导致包含此类查询的视图在转储/恢复时失败。

  • 修复正则表达式中 {1,1} 量词的错误优化(Tom Lane)

    此类量词被当作无操作而被优化掉;但文档规定它们会给所附加的子表达式 施加贪婪性,或者对于非贪婪变体 {1,1}? 施加非 贪婪性,而这没有发生。只有当子表达式包含捕获圆括号或反向引用时 才会出现错误行为。

  • 修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件 (Tom Lane)

  • 避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问 (Vignesh C、Andres Freund)

    这个错误可能导致诸如 cannot read pg_class without having selected a database 之类的失败。

  • 改进 initdb 对系统时区多个等价名称的处理 (Tom Lane、Andrew Gierth)

    initdb 检查 /etc/localtime 符号链接(如果存在),以在 系统时区的等价名称之间打破平局。这使 initdb 在存在多个相同时区时更可能选择用户期望的时区名。如果 /etc/localtime 不是指向时区数据文件的符号 链接,或者时区是由 TZ 环境变量确定的,则不会改变 行为。

    另外,当 TZ/etc/localtime 都 未提供提示时,优先选择 UTC 而不是该时区的其他 拼法。这修复了 tzdata 2019a 把 UCTUTC 时区名变为等价而 引入的烦恼:initdb 随后偏爱 UCT,而几乎没人想要它。

  • 修复 reindexdb 的误导性错误报告 (Julien Rouhaud)

  • contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改 (Shohei Mochizuki)

    如果触发器修改了 UPDATE 本不会更改的列,新值不会 被传输到远程服务器。

  • 在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败(Noah Misch)

    代码此前假定这种字符串必须是 UTF-8,如果它们看起来不是有效编码就会 抛出错误。现在,只是把未翻译的字节传给日志。

  • 使 PL/pgSQL 的头文件对 C++ 安全 (George Tarasov)

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。