pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
发布日期:. 2020-05-14
此版本包含自 9.5.21 以来的多种修复。有关 9.5 大版本中新特性的信息,参见第 E.26 节。
PostgreSQL 社区将于 2021 年 2 月停止对 9.5.X 版本系列的更新。建议用户尽快更新到较新的版本分支。
保留被 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”之类,而不是预期的消息。
修复 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 之后卡在等待该锁上。
确保备库服务器上 nextXid 不会倒退(Eka Palamadai)
这一竞态条件可能使错误的热备反馈消息被发回主库,可能导致主库过早运行 VACUUM。
为少数错误报告补上缺失的 SQLSTATE 值(Sawada Masahiko)
修复 PL/pgSQL,使其可靠地拒绝把事件触发器函数当作普通函数执行(Tom Lane)
修复使用 sslmode=verify-full 时 libpq 中的内存泄漏(Roman Peshkurov)
连接启动期间的证书验证可能泄漏一些内存。如果客户端进程在其生命周期内打开许多数据库连接,这就会成为问题。
修复 ecpg 在所有平台上都把仅为“-”的参数当作“从 stdin 读取”(Tom Lane)
修复 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 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。