pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
发布日期:. 2020-05-14
此版本包含自 9.6.17 以来的多种修复。 有关 9.6 大版本中新特性的信息,参见 第 E.25 节。
保留被 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 类型的输入接受文档所述的 “(” 格式(David Zhang)x,y),r
让 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-full 时 libpq 中的内存泄漏(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/lo 的 lo_manage() 函数 在被直接调用而非作为触发器调用时崩溃(Tom Lane)
在 contrib/ltree 中,防止 ltree 和 lquery 长度字段溢出(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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。