E.22. 发布版本 11.1 #
发布日期:. 2018-11-08
本次发布包含来自 11.0 的多项修复。有关 11 主版本新特性的说明,请参见第 E.23 节。
E.22.1. 迁移到版本 11.1
对于运行 11.X 的用户,不需要执行导出/恢复。
但是,如果使用了 pg_stat_statements 扩展,请参阅下方相关变更日志条目。
E.22.2. 变更
确保 pg_dump 输出
CREATE TRIGGER ... REFERENCING命令时,正确处理过渡表名称的引号(Tom Lane)无特权用户可以利用这一疏漏,在下一次转储/重载或运行 pg_upgrade 时取得超级用户权限。(CVE-2018-16850)
创建子索引时,使用为分区索引指定的表空间(Álvaro Herrera)
以前,子索引始终创建在默认表空间中。
修复并行哈希多批次左连接中的 NULL 处理(Andrew Gierth,Thomas Munro)
hash 键为空值的外侧关系行被遗漏在连接结果之外。
修复对具有常量测试表达式的
CASE子句内数组类型强制转换表达式的不正确处理(Tom Lane)修复对缺少最近新增列的元组的不正确展开(Andrew Dunstan,Amit Langote)
已知这会使最近添加过列的表上的触发器崩溃,也可能出现其他症状。
修复
CALL参数列表中命名参数或默认参数的缺陷(Tom Lane,Pavel Stehule)修复带有
ORDER BY列的严格聚合的严格性检查(Andrew Gierth,Andres Freund)严格性逻辑错误地忽略了
ORDER BY值为空的行。禁用
recheck_on_update优化(Tom Lane)事实证明,这项 v11 新增特性尚未成熟。在能够解决问题之前将其禁用。
禁止在附着于父表的触发器中创建该表的分区(Amit Langote)
理想情况下应允许这样做,但目前必须禁止,以避免崩溃。
修复将
ON COMMIT DELETE ROWS应用于分区临时表时出现的问题(Amit Langote)修复字符类检查,使其在 Windows 上不会因高于 U+FFFF 的 Unicode 字符而失败(Tom Lane,Kenji Uno)
此缺陷影响全文检索操作,以及
contrib/ltree和contrib/pg_trgm。确保服务器在等待客户端输入之前,处理已收到的
NOTIFY和SIGTERM中断(Jeff Janes,Tom Lane)修复重复扫描 SP-GiST 索引时的内存泄漏(Tom Lane)
目前仅已知在使用 SP-GiST 的排除约束于单条命令中接收大量新索引条目时,这种泄漏才会达到显著程度。
如果
wal_level设置过低,无法支持现有复制槽,则禁止启动服务器(Andres Freund)修复 psql 以及文档示例,使其在每次调用
PQnotifies()之前调用PQconsumeInput()(Tom Lane)这修复了 psql 直到下一条命令之后才报告收到
NOTIFY消息的情况。修复 pg_verify_checksums 对哪些文件应检查校验和的判断(Michael Paquier)
在某些情况下,它会对本来就不应有校验和的文件报错。
在
contrib/pg_stat_statements中,禁止pg_read_all_stats角色执行pg_stat_statements_reset()(Haribabu Kommi)pg_read_all_stats只应授予读取统计信息的权限,而非更改统计信息的权限,因此此前的授权不正确。要使此项修改生效,请在每个已安装
pg_stat_statements的数据库中运行ALTER EXTENSION pg_stat_statements UPDATE。(在 11.0 中新建的数据库应该不需要这样做,但从旧发行版升级的数据库可能仍包含旧版pg_stat_statements。如果模块已更新,执行UPDATE命令也不会有害。)重命名红黑树支持函数,使用
rbt前缀代替rb前缀(Tom Lane)这避免了与 Ruby 函数发生名称冲突,后者曾使 PL/Ruby 失效。希望没有其他扩展受到影响。
修复 macOS 10.14(Mojave)上的构建问题(Tom Lane)
调整 configure,向
CPPFLAGS添加-isysroot开关;否则,PL/Perl 和 PL/Tcl 在 macOS 10.14 上无法配置或构建。可以在 configure 或 make 的参数中设置PG_SYSROOT变量,在配置时或构建时覆盖所用的具体 sysroot。现在建议 Perl 相关扩展在编译器标志中写入
$(perl_includespec),而非-I$(perl_archlibexp)/CORE。后者在大多数平台上仍然有效,但在近期 macOS 上无效。此外,在近期 macOS 版本上构建 PL/Tcl 时,应不再需要手动指定
--with-tclconfig。修复 MSVC 构建和回归测试脚本,使其适用于近期 Perl 版本(Andrew Dunstan)
Perl 默认已不再将当前目录包含在搜索路径中,现在对此进行适配。
在 Windows 上,允许使用 Administrator 账户运行回归测试(Andrew Dunstan)
为安全地做到这一点,pg_regress 现在会在启动时放弃所有此类特权。
将时区数据文件更新到 tzdata 2018g 版,以反映智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。