E.6.版本 10.8

发布日期: 2019-05-09

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

E.6.1. 迁移到版本 10.8

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

但是,如果要从 10.6 之前的版本升级,请参见Section E.8

E.6.2. Changes

某些计划者的选择性估算器将用户定义的运算符应用于pg_statistic中的值(例如,最常用的值)。因此,即使主叫用户没有读取该列的权限,泄漏的操作员也可以公开数据列中的某些条目。在 CVE-2017-7484 中,我们添加了限制来阻止所有这些,但我们未能考虑行级安全性的影响。拥有 SQL 权限以读取列的用户,但由于 RLS 策略而被禁止查看某些行,该用户仍可能通过泄漏运算符来了解有关那些行内容的信息。此修补程序进一步加强了规则,仅在没有相关的 RLS 策略时才允许将泄漏的运算符应用于统计数据。 (CVE-2019-10130)

由于该案例实际上没有用,因此该危险被忽略了,因为临时表将在创建后立即删除。

当使用READ COMMITTED隔离级别并且另一个会话同时更新了一些目标行时,会发生这种情况。

在这种情况下,当出现RETURNING子句时,查询不会报告正确的输出列集,并且如果有应触发的语句级触发器,则不会触发它们。

出于发布目的,应忽略此类表,但是代码的某些部分未能这样做。

如果该列的可更新视图没有默认值,但是其基础表具有一个默认值,则单行INSERT ... VALUES将使用基础表的默认值。但是,在多行情况下,始终使用 NULL。对其进行更正以使其类似于单行情况。

我们应该允许与零列表保持一致。由于可以将表转换为视图,因此即使存在限制,也可以创建零列视图,从而导致转储/重新加载失败。

IF NOT EXISTSEXECUTE的组合应该有效,但语法省略了它。

以前,如果具有 RLS 策略的表是通过视图访问的,则此类检查可能是在用户调用视图时执行的,而不是应以视图所有者的身份执行。

以前,PostgreSQL 遵循 SQL:2003 定义,不允许这样做。但这给转储/还原造成了严重的问题:没有设置xmloption可以接受所有有效的 XML 数据。因此,切换到 2006 年的定义。

pg_dump 也被修改为在恢复数据时发出SET xmloption = content,即使当前设置为document,也可以确保转储/恢复有效。

现在,即使删除了postmaster.pid文件,邮政局长也更有可能检测到来自先前邮政局长化身的活动进程。

2 月份次要版本中应用的修复程序对向后兼容性的注意不够,如果该年份的备用服务器读取由先前次要版本的主服务器生成的 GIN 页面删除 WAL 记录,则会导致问题。

在某些情况下,可预见的故障并实际上意味着“不支持操作”,在某些情况下,先前对文件同步故障感到恐慌的更改变得过于偏执。

在 v10 中,这种监督只会导致计划效率低下,但是在 v11 中,它可能会导致“在上下文中无法接受集合的情况下调用集合值函数”错误。

当通过视图访问基础表时,请在考虑是否将泄漏运算符应用于表的统计数据而不是查询用户的特权时,考虑视图所有者的特权。这使得计划者关于可见数据的规则与执行者的规则相匹配,避免了不必要的计划不足。

这些可能导致“ dsa_area 无法连接到段”或“无法取消固定未固定的段”错误。

具有正确的初始字符的密码字符串可能会误认为正确地哈希为 SCRAM-SHA-256 或 MD5 格式的密码字符串。该密码将被接受,但以后将无法使用。

本地化的包含非 ASCII 字符的月份或日期名称以前在这些语言环境中导致了意外错误或错误输出。

没有核心代码在乎这一点,但是某些扩展确实在乎。

这些失败的先前无法识别的根源是为进程的默认线程池创建线程堆栈。安排将此类堆栈分配到其他内存区域中。

未检测到或未正确报告错误,例如缺少读取目录的权限;而是代码默默地充当目录为空的行为。

缺少分号会导致 ecpg 程序中的SET variable = DEFAULT(但不是SET variable TO DEFAULT)翻译错误,从而产生语法上无效的输出,服务器将拒绝该输出。此外,在列出多个类型名称的DROP TYPEDROP DOMAIN命令中,实际上仅处理了第一个类型名称。

这可以纠正 zic 中的一个小错误,该错误导致其在Africa/Casablanca区域中输出不正确的 2440 年转换,并增加了对 zic 的新-r选项的支持。

Etc/UCT现在是指向Etc/UTC的向后兼容链接,而不是一个单独的区域,该区域生成缩写UCT,如今通常是一个错字。 PostgreSQL 仍然会接受UCT作为 Importing 区域的缩写,但不会输出它。

上一章 首页 下一章