E.8. 11.1 版

发布日期: 2018-11-08

此版本包含自 11.0 起的各种修复程序。有关主要版本 11 中新功能的信息,请参阅Section E.9

E.8.1. 迁移到版本 11.1

运行 11.X 的用户不需要转储/还原。

但是,如果您使用pg_stat_statementsextensions,请参阅下面的更改日志条目。

E.8.2. Changes

  • 当 pg_dump 发出CREATE TRIGGER ... REFERENCING命令时,确保正确引用过渡表名称(Tom Lane)

非特权用户可以利用这种监督方式在下一次转储/重新加载或 pg_upgrade 运行期间获取超级用户特权。 (CVE-2018-16850)

  • 创建子索引时,应应用为分区索引指定的表空间(ÁlvaroHerrera)

以前,子索引始终在默认表空间中创建。

  • 修复并行散列多批处理左联接中的 NULL 处理(Andrew Gierth,Thomas Munro)

连接结果中省略了哈希键值为空的外部关系行。

  • 修复对具有常量测试表达式的CASE子句中出现的数组类型强制表达式的错误处理(Tom Lane)

  • 修复缺少最近添加的列的 Tuples 的错误扩展(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

  • 在 awaitClient 端 Importing 之前,请确保服务器将处理已经收到的NOTIFYSIGTERM中断(杰夫·简斯,汤姆·莱恩)

  • 修复重复 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)

这避免了与破坏 PL/Ruby 的 Ruby 函数的名称冲突。希望没有其他受影响的扩展。

  • 修复 macOS 10.14(Mojave)(Tom Lane)上的构建问题

调整 configure,将-isysroot开关添加到CPPFLAGS;否则,PL/Perl 和 PL/Tcl 无法在 macOS 10.14 上进行配置或构建。通过在 configure 或 make 的参数中设置PG_SYSROOT变量,可以在配置时或构建时覆盖使用的特定 sysroot。

现在建议与 Perl 相关的扩展在其编译器标志中写入$(perl_includespec)而不是-I$(perl_archlibexp)/CORE。后者可以 continue 在大多数平台上运行,但不适用于最新的 macOS。

另外,不再需要手动指定--with-tclconfig来使 PL/Tcl 构建在最新的 macOS 版本上。

  • 修复 MSVC 构建和回归测试脚本以在最新的 Perl 版本上运行(Andrew Dunstan)

默认情况下,Perl 不再在其搜索路径中包括当前目录。解决这个问题。

  • 在 Windows 上,允许通过 Management 员帐户运行回归测试(Andrew Dunstan)

为了安全地执行此操作,pg_regress 现在在启动时放弃了任何此类特权。

  • 将时区数据文件更新为 tzdata 版本 2018g,以应对智利,斐济,摩洛哥和俄罗斯(伏尔加格勒)的 DST 法律变更,以及中国,夏威夷,日本,澳门和朝鲜的历史更正。