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

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

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

E.7. 版本 9.6.18 #

发布日期:. 2020-05-14

此版本包含自 9.6.17 以来的多种修复。 有关 9.6 大版本中新特性的信息,参见 第 E.25 节

E.7.1. 迁移到版本 9.6.18

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

不过,如果你是从 9.6.16 之前的版本升级,参见 第 E.9 节

E.7.2. 变更

  • 保留被 ALTER TABLE 重写的索引的 indisclustered 设置(Amit Langote、 Justin Pryzby)

    此前,ALTER TABLE 会丢失哪个索引用于过 CLUSTER 的记录。

  • 保留被 ALTER TABLE 重写的索引的副本身份属性 (Quan Zongliang、Peter Eisentraut)

  • DROP OWNED BY 期间更早地锁定对象 (Álvaro Herrera)

    这避免了另一会话正在删除部分相同对象的竞态情况下的失败。

  • 修复 CREATE ROLE ... IN ROLE 的错误情况处理 (Andrew Gierth)

    某些错误情况会被报告为 unexpected node type 之类,而不是 预期的消息。

  • 修复全文搜索正确处理短语搜索之上的 NOT(Tom Lane)

    诸如 !(foo<->bar) 之类的查询在作为 GiST 或 GIN 索引搜索实现时找不到匹配的行。

  • 修复短语搜索包含同时带前缀匹配和权重限制的项时的全文搜索(Tom Lane)

  • 修复 ts_headline() 在处理短语查询时做出更好的 标题选择(Tom Lane)

  • 修复 gin_fuzzy_search_limit 处理中的 bug (Adé Heyward、Tom Lane)

    gin_fuzzy_search_limit 的值较小时,可能因无意中多次 重新扫描同一索引页而导致意外缓慢。另一条代码路径则完全没有应用 预期的过滤,可能返回过多的值。

  • 允许 circle 类型的输入接受文档所述的 (x,y),r 格式(David Zhang)

  • get_bit()set_bit() 函数 应对长于 256MB 的 bytea 字符串(Movead Li)

    由于位号参数只有 int4,不可能用这些函数访问长 bytea 前 256MB 之外的位。我们将在 v13 中把参数放宽为 int8,但在此之前,允许这些函数处理长 bytea 的初始子串。

  • 避免 pg_ls_dir()pg_timezone_names()pg_tablespace_databases() 及相关函数可能泄漏 打开的目录文件描述符(Justin Pryzby)

  • 修复多态函数类型解析,使其在只给出 anyrange 输入时正确推断 anyarray 输出的实际类型(Tom Lane)

  • 避免 REINDEX 被会话关闭信号终止时不太可能的崩溃 (Tom Lane)

  • 防止 EXPLAIN 打印可能不正确的哈希连接表统计信息 (Konstantin Knizhnik、Tom Lane、Thomas Munro)

  • 修复 VACUUM VERBOSE 中堆截断步骤所用时间的报告 (Tatsuhito Kasahara)

  • 避免进程的 PS 状态中可能两次显示 waiting (Masahiko Sawada)

  • 避免崩溃恢复期间过早回收 WAL 段(Jehan-Guillaume de Rorthais)

    崩溃恢复期间变为可归档的 WAL 段有可能在未被归档的情况下就被回收。

  • 避免归档恢复期间扫描无关时间线(Kyotaro Horiguchi)

    这可以消除许多从归档存储获取不存在 WAL 文件的尝试,在归档访问缓慢时 很有帮助。

  • 移除逻辑解码中虚假的 subtransaction logged without previous top-level txn record 错误检查(Arseny Sher、Amit Kapila)

    这一条件在各种场景下都可以合法达到,因此移除该检查。

  • 确保复制槽的 io_in_progress_lock 在失败代码路径中被 释放(Pavan Deolasee)

    这可能导致 walsender 之后卡在等待该锁上。

  • 修复同步备库管理中的竞态条件(Tom Lane)

    synchronous_standby_names 设置更改期间,存在一个 时间窗口,可能对是否可以释放等待同步提交的事务做出错误决定。如果 一个 walsender 进程退出并立即被另一个取代,也存在类似错误决定的 风险。

  • 确保备库服务器上 nextXid 不会倒退(Eka Palamadai)

    这一竞态条件可能使错误的热备反馈消息被发回主库,可能导致主库过早运行 VACUUM

  • 为少数错误报告补上缺失的 SQLSTATE 值(Sawada Masahiko)

  • 修复 PL/pgSQL,使其可靠地拒绝把事件触发器函数当 作普通函数执行(Tom Lane)

  • 修复使用 sslmode=verify-fulllibpq 中的内存泄漏(Roman Peshkurov)

    连接启动期间的证书验证可能泄漏一些内存。如果客户端进程在其生命周期内 打开许多数据库连接,这就会成为问题。

  • 修复 ecpg 在所有平台上都把仅为 - 的参数当作从 stdin 读取 (Tom Lane)

  • pg_dump 添加 ALTER ... DEPENDS ON EXTENSION 支持 (Álvaro Herrera)

    pg_dump 此前忽略以这种方式添加的依赖,导致 它们在转储/恢复或 pg_upgrade 期间被遗忘。

  • 修复 pg_dump 转储 RLS 策略对象上的注释 (Tom Lane)

  • pg_dump 中,把事件触发器的恢复推迟到最后 (Fabrízio de Royes Mello、Hamid Akhtar、Tom Lane)

    这能把事件触发器干扰其他对象恢复的风险降到最低。

  • 修复 createdb 实用程序中 --encoding--lc-ctype--lc-collate 值的引号处理(Michael Paquier)

  • contrib/lolo_manage() 函数 在被直接调用而非作为触发器调用时崩溃(Tom Lane)

  • contrib/ltree 中,防止 ltreelquery 长度字段溢出(Nikita Glukhov)

  • 修复 contrib/sepgsql 中的缓存引用泄漏 (Michael Luo)

  • 避免在 Windows 上处理 Unix 风格区域名时的失败 (Juan José Santamaría Flecha)

  • 在 MSVC 构建中,处理 Python 路径名中的空格(Victor Wagner)

  • 在 MSVC 构建中,修复 Visual Studio 版本检测以适应更多语言设置 (Andrew Dunstan)

  • 在 MSVC 构建中,对 3.0 之后的 bison 版本使用 -Wno-deprecated,与非 Windows 构建已经做的一样 (Andrew Dunstan)

  • 更新时区数据文件到 tzdata 版本 2020a,涉及 摩洛哥和加拿大育空的夏令时法规变更,以及上海的历史修正。

    America/Godthab 时区已更名为 America/Nuuk 以反映当前英语用法;不过, 旧名称仍作为兼容链接可用。

    同时,更新 initdb 的已知 Windows 时区名列表 以包含新近添加的名称,提高它在该平台上正确翻译系统时区设置的 几率。

提交更正

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