PostgreSQL 全球开发组发布了对我们数据库系统所有受支持版本的更新,包括 13.2、12.6、11.11、10.16、9.6.21 和 9.5.25。此次发布修复了两个安全漏洞,并解决了过去三个月报告的 80 多个错误。
此外,这是PostgreSQL 9.5 的最终发布版本。如果您在生产环境中使用 PostgreSQL 9.5,我们建议您计划进行升级。
有关更改的完整列表,请参阅 发行说明。
受影响版本:11 - 13。
拥有分区表 UPDATE 权限但缺少某些列 SELECT 权限的用户,可能会通过错误消息获取被拒绝访问的列的值。这与 CVE-2014-8161 类似,但利用条件更为罕见。
PostgreSQL 项目感谢 Heikki Linnakangas 报告此问题。
受影响版本:13。
拥有单个列 SELECT 权限的用户可以构造一个特殊的查询,返回该表的所有列。
此外,使用列级权限的存储视图将具有不完整的列使用位图。在依赖列级权限进行安全防护的安装环境中,建议对所有用户定义的视图执行 CREATE OR REPLACE,以强制重新解析它们。
PostgreSQL 项目感谢 Sven Klemm 报告此问题。
此次更新修复了过去几个月报告的 80 多个错误。其中一些问题仅影响版本 13,但也可能适用于其他受支持的版本。
部分修复包括:
REINDEX。CREATE INDEX CONCURRENTLY,以确保将来自并发预备事务的行包含在索引中。启用了预备事务的安装应为任何并发构建的索引执行 REINDEX。CALL 或 DO 语句时,避免崩溃。OUT 参数并且执行了 COMMIT 或 ROLLBACK。BEFORE UPDATE 触发器中不再适用的约束条件产生的错误。ORDER BY 表达式中的并行限制函数或集合返回函数考虑在内。ALTER DEFAULT PRIVILEGES 以安全地处理重复参数。wal_level 设置为 minimal 时的几个行为问题,包括事务中表重写的情况。CREATE TABLE LIKE 的几个问题。CLUSTER 的进度报告。COPY FROM 中反斜杠转义的多字节字符的处理。LISTEN/NOTIFY 队列处理中最近引入的竞争条件。jsonb 连接运算符 (||) 处理所有 JSON 数据类型的组合。walsender 进程进行了多项内存泄漏修复。krb_server_keyfile 的非空值始终优先于服务器环境中 KRB5_KTNAME 的任何设置。\connect 命令允许在 connection_string 参数中使用密码。\help 命令中的各种错误。pg_dump 进行了多项修复。pg_rewind 在重置备用服务器时考虑所有 WAL。contrib/auto_explain 中的内存泄漏。postgres_fdw 连接都会被关闭。此次更新还包含 tzdata 版本 2021a,用于俄罗斯(伏尔加格勒时区)和南苏丹的夏令时法律变更,以及澳大利亚、巴哈马、伯利兹、百慕大、加纳、以色列、肯尼亚、尼日利亚、巴勒斯坦、塞舌尔和瓦努阿图的历史修正。
值得注意的是,澳大利亚/卡里(Australia/Currie)时区已得到修正,使其与澳大利亚/霍巴特(Australia/Hobart)时区相同。
有关所有更改的完整列表,请参阅 发布说明。
这是 PostgreSQL 9.5 的最终发布版本。如果您在生产环境中使用 PostgreSQL 9.5,我们建议您计划升级到更新的、受支持的 PostgreSQL 版本。请参阅我们的 版本策略 以获取更多信息。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。
跳过了一个或多个更新版本的用户可能需要执行额外的、更新后的步骤;有关详细信息,请参阅早期版本的发布说明。
有关更多详细信息,请参阅 发行说明。
注意:PostgreSQL 9.6 将于 2021 年 11 月 11 日停止接收修复。请参阅我们的 版本策略 以获取更多信息。