暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

国际新闻|PostgreSQL 14.5、13.8、12.12、11.17、10.22 和 15 Beta 3 发布!

PostgreSQL全球开发组发布了所有受支持的PostgreSQL版本的更新,包括14.5,13.8,12.12,11.17和10.22,以及PostgreSQL 15的第三个beta版本。此版本关闭了一个安全漏洞,并修复了过去三个月中报告的 40 多个 bug。

有关更改的完整列表,请查看发行说明



PostgreSQL 10 EOL 即将推出

PostgreSQL 10 将于 2022 年 11 月 10 日停止接收修复程序。如果您在生产环境中运行PostgreSQL 10,我们强烈建议您计划升级到更新的,受支持的PostgreSQL版本,以便您可以继续收到错误和安全修复。有关详细信息,请参阅我们的版本控制策略



安全问题

CVE-2022-2625:扩展脚本替换不属于扩展的对象。

受影响的版本:10 - 14。安全团队通常不会测试不受支持的版本,但此问题已经很老了。

某些扩展使用 CREATE OR REPLACE or CREATE IF NOT EXISTS 命令。但是,有些不遵守记录的规则,即仅针对已知已是扩展成员的对象。攻击需要允许在至少一个架构中创建非临时对象,能够引诱或等待管理员在该架构中创建或更新受影响的扩展,并且能够引诱或等待受害者在 CREATE OR REPLACE or CREATE IF NOT EXISTS 命令中使用目标对象。

给定所有三个先决条件,攻击者可以作为受害者角色(可能是超级用户)运行任意代码。已知受影响的扩展包括PostgreSQL捆绑和非捆绑扩展。

PostgreSQL在核心服务器中阻止了这种攻击,因此无需修改单个扩展。

PostgreSQL项目感谢Sven Klemm报告这个问题。



关于PostgreSQL 15 Beta的说明

这个版本标志着PostgreSQL 15的第三个beta版本,并让社区朝着在第三季度末正式发布的目标暂时又迈进了一步。

本着开源PostgreSQL社区的精神,我们强烈建议您在系统上测试PostgreSQL 15的新功能,以帮助我们消除可能存在的错误或其他问题。虽然我们不建议您在生产环境中运行 PostgreSQL 15 Beta 3,但我们鼓励您找到针对此 beta 版本运行典型应用程序工作负载的方法。

您的测试和反馈将帮助社区确保PostgreSQL 15坚持我们的标准,即提供世界上最先进的开源关系数据库的稳定,可靠的版本。请阅读有关我们的 beta 测试流程以及如何做出贡献的更多信息:

https://www.postgresql.org/developer/beta/

您可以在发行说明中找到有关所有PostgreSQL 15功能和更改的信息:

https://www.postgresql.org/docs/15/release-15.html



错误修复和改进

此更新修复了过去几个月中报告的40 多个 bug。下面列出的问题会影响 PostgreSQL 14。其中一些问题也可能影响PostgreSQL的其他受支持版本。


此版本中包括:

  • 修复了在备用服务器上遇到缺少表空间目录时重播 CREATE DATABASE 预写日志 (WAL) 记录的问题。

  • 添加对纯目录表空间的支持,而不是指向其他目录的符号链接。

  • 修复 CREATE INDEX 中的权限检查以使用用户的权限。这修复了依赖于CVE-2022-1552修复之前的行为的损坏转储/恢复场景。

  • 在扩展查询协议中,在 CREATE DATABASE 和其他无法在事务块中运行的命令之后强制立即提交。

  • 修复有关检查事务可见性的争用条件,这在使用同步复制时更有可能发生。

  • 修复了扩展统计的不正确的信息权限检查代码。

  • 修复扩展的统计信息机制以处理布尔值表达式上的最常见值 (MCV) 类型的统计信息。

  • 当存在关于数组变量的 MCV 类型扩展统计信息时,避免使用constant = ANY(array)子句进行规划器核心转储。

  • 允许在计算扩展统计信息时取消 ANALYZE

  • 修复ALTER TABLE…启用/禁用触发器来处理分区表上触发器的递归。

  • 拒绝FROM中超过1600列的ROW()表达式和函数。

  • 修复逻辑复制订阅服务器中的内存泄漏。

  • 修复了对目标表进行分区时副本标识的逻辑复制中的检查。

  • 安排在提交后清理SPI_commit()中的错误,而不是期望调用方这样做。这包括对PL Python中相同场景的修复,该场景报告了Python 3.11上的崩溃以及旧版本的Python 3上的内存泄漏。

  • 改进管道模式下libpq对空闲状态的处理

  • psql \watch命令中,用control-C回显一个换行符。

  • 修复了pg_upgrade检测接受anyarray参数的函数的不可升级用法。

  • 几个postgres_fdw修复,包括当存在WITH CHECK OPTION约束时防止批量插入。

有关可用更改的完整列表,请查看发行说明。



更新

所有的PostgreSQL更新版本都是累积的。与其他次要版本一样,用户不需要转储并重新加载数据库或使用pg_upgrade来应用这个更新版本;你可以简单地关闭PostgreSQL并更新它的二进制文件。

跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;有关详细信息,请参阅早期版本的发布说明。

有关更多详细信息,请参阅发行说明



更新到 PostgreSQL 15 Beta 3

要从 Beta 2、Beta 1 或早期版本的 PostgreSQL 升级到 PostgreSQL 15 Beta 3,您需要使用类似于在 PostgreSQL 的主要版本之间升级的策略(例如 pg_upgrade或pg_dumppg_restore)。有关详细信息,请访问有关升级的文档部分。



测试错误和兼容性

每个PostgreSQL版本的稳定性在很大程度上取决于您(社区)使用工作负载和测试工具测试即将发布的版本,以便在PostgreSQL 15正式发布之前查找错误和回归。

由于这是一个beta版本,数据库行为、特性细节和api仍然可以更改。您的反馈和测试将有助于确定新功能的最终调整,所以请在不久的将来进行测试。用户测试的质量有助于我们决定何时发布最终版本。

在PostgreSQL wiki中有一个公开的问题列表。你可以在PostgreSQL网站上使用这个表单来报告错误:https://www.postgresql.org/account/submitbug/



链接
  • 下载

  • 发行说明

  • 安全

  • 版本控制策略

  • 测试版测试信息

  • PostgreSQL 15 Beta 发行说明

  • PostgreSQL 15 开放问题

  • 在推特上关注@postgresql


点击此处阅读原文
最后修改时间:2022-08-19 09:42:53
文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论