发布日期:. 2018-11-08
本次发布包含来自 11.0 的多项修复。 有关 11 主版本新特性的说明,请参见 Section E.23.
对于运行 11.X 的用户,不需要执行导出/恢复。
但是,如果使用了 pg_stat_statements 扩展,请参阅下方相关变更日志条目。
确保 pg_dump 输出 CREATE TRIGGER ... REFERENCING 命令时,正确处理过渡表名称的引号(Tom Lane)
无特权用户可以利用这一疏漏,在下一次转储/重载或运行 pg_upgrade 时取得超级用户权限。(CVE-2018-16850)
创建子索引时,使用为分区索引指定的表空间(Álvaro Herrera)
以前,子索引始终创建在默认表空间中。
修复并行哈希多批次左连接中的 NULL 处理(Andrew Gierth,Thomas Munro)
哈希键为空值的外侧关系行被遗漏在连接结果之外。
修复对具有常量测试表达式的 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 版,以反映智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。