选择 打开 改范围 完整检索页
不受支持的版本: 11
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本手册首页的对应页面,或其他在上面列出的活跃大版本。

E.22. 发布版本 11.1 #

发布日期:. 2018-11-08

本次发布包含来自 11.0 的多项修复。 有关 11 主版本新特性的说明,请参见 Section 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)

    哈希键为空值的外侧关系行被遗漏在连接结果之外。

  • 修复对具有常量测试表达式的 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/ltreecontrib/pg_trgm

  • 确保服务器在等待客户端输入之前,处理已收到的 NOTIFYSIGTERM 中断(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 上无法配置或构建。可以在 configuremake 的参数中设置 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 版,以反映智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。