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

PostgreSQL 15.4、14.9、13.12、12.16、11.21 和 PostgreSQL 16 Beta 3 发布!

原创 通讯员 2023-08-11
413

2023年8月10日,PostgreSQL 全球开发小组发布了所有受支持的 PostgreSQL 版本的更新,包括 15.4、14.9、13.12、12.16 和 11.21,以及 PostgreSQL 16 的第三个测试版。此版本修复了两个安全漏洞和报告的 40 多个错误在过去的几个月里。

如果您使用BRIN 索引来查找值, 则升级到此版本后NULL需要重新索引它们。在 PostgreSQL 12 及更高版本上,您可以使用 REINDEX CONCURRENTLY 以避免阻止对受影响的索引和表的写入,例如:

REINDEX INDEX CONCURRENTLY your_index_name;

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

PostgreSQL 11 EOL 通知

PostgreSQL 11 将于 2023 年 11 月 9 日停止接收修复。如果您在生产环境中运行 PostgreSQL 11,我们建议您制定计划升级到更新的受支持版本的 PostgreSQL。请参阅我们的 版本控制政策以获取更多信息。

安全问题

CVE-2023-39417@substitutions@ :引用中的扩展脚本允许 SQL 注入。

支持的、易受攻击的版本:11 - 15。安全团队通常不会测试不受支持的版本,但这个问题很老了。

如果扩展脚本在引用结构(美元引用、 或 )内使用 、则该扩展脚本容易受到攻击。任何捆绑的扩展都不会受到攻击。易受攻击的用途确实出现在文档示例和非捆绑扩展中。因此,攻击的先决条件是管理员安装了易受攻击的、受信任的、非捆绑扩展的文件。根据该先决条件,这使得具有数据库级 权限的攻击者能够作为引导超级用户执行任意代码。PostgreSQL 将在核心服务器中阻止这种攻击,因此无需修改单个扩展。@extowner@@extschema@@extschema:...@''""CREATE

PostgreSQL 项目感谢 Micah Gate、Valerie Woolard、Tim Carey-Smith 和 Christoph Berg 报告此问题。

CVE-2023-39418MERGE无法强制执行UPDATESELECT行安全策略。

支持的易受攻击版本:15。

PostgreSQL 15 引入了该命令,该命令无法根据为MERGE 定义的行安全策略测试新行 如果 策略禁止策略不禁止的某些行,则用户可以存储此类行。后续后果取决于应用程序。这仅影响用于 定义行安全策略的数据库。UPDATESELECTUPDATESELECTINSERTCREATE POLICY

PostgreSQL 项目感谢 Dean Rasheed 报告此问题。

关于 PostgreSQL 16 Beta 的说明

该版本标志着 PostgreSQL 16 的第三个测试版,让社区距离第三季度末的正式发布又近了一步。

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

您的测试和反馈将帮助社区确保 PostgreSQL 16 符合我们提供世界上最先进的开源关系数据库的稳定、可靠版本的标准。请详细了解我们的 Beta 测试流程以及您如何做出贡献:

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

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

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

错误修复和改进

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

  • 修复了BRINNULL索引中值的处理 。此修复不适用于现有 BRIN 索引 - 您将需要运行REINDEX修复用于搜索 NULL 值的任何 BRIN 索引。
  • 避免在 DROP DATABASE 中断时留下损坏的数据库。
  • 针对分区索引的多项修复。
  • ALTER EXTENSION ... SET SCHEMA 如果扩展包含扩展架构之外的任何对象,则修复错误。
  • 修复表访问方法的依赖性跟踪。
  • 不要在规划器中使用部分唯一索引来证明唯一性。
  • 扩展规则操作时,正确处理 RLS 策略表达式和安全屏障视图中的子 SELECT。
  • 修复SERIALIZABLE事务隔离模式冲突检测中的竞争条件。
  • 修复尝试更新需要外线 TOASTing的复合列的字段时出现的间歇性故障
  • 修复查询生命周期中发生的多个内存泄漏。
  • 在jsonpathdatetime()方法的输入中接受小数秒 。
  • 将令牌限制增加到pg_hba.conf10,240pg_ident.conf字节。
  • JIT 的内存不足错误现在将导致 PostgreSQLFATAL错误而不是 C++ 异常。
  • 允许VACUUM在检测到某些类型的 B 树索引损坏后继续。虽然此修复允许 VACUUM 继续,但您仍然需要REINDEX修复损坏的索引。
  • 避免在崩溃恢复期间双重重放已准备好的事务。
  • 确保检查点调用fsync新创建的空表。
  • 静默“missing contrecord”错误以避免记录来自 pg_waldump和的不准确消息walsender
  • 修复 [fuzzystrmatch](https://www.postgresql.org/docs/current/fuzzystrmatch.html Soundex difference()函数以正确处理空输入。
  • 对 的多个修复intarray,包括不允许在 GiST 索引中使用过大的输入数组。
  • 修复以正确处理需要解析时依赖于唯一索引的pg_dumpSQL 标准函数体 ( )。BEGIN ATOMIC

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

PostgreSQL 16 Beta 3 中的修复

  • 添加\drg命令以psql显示有关角色授予的信息。
  • 将时间线 ID 添加到使用pg_waldump --save-fullpage.
  • 修复并行工作线程中发生死锁后的崩溃问题VACUUM

请参阅发行说明 以获取新功能和更改功能的完整列表:

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

更新中

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

如果您使用BRIN 索引来查找值, 则升级到此版本后NULL需要重新索引它们。在 PostgreSQL 12 及更高版本上,您可以使用 REINDEX CONCURRENTLY 以避免阻止对受影响的索引和表的写入,例如:

REINDEX INDEX CONCURRENTLY your_index_name;

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

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

更新到 PostgreSQL 16 Beta 3

要从以前的 PostgreSQL 16 Beta 版本或以前的 PostgreSQL 主要版本升级到 PostgreSQL 16 Beta 3,您将需要使用类似于在 PostgreSQL 主要版本之间升级的策略(例如 或pg_upgradepg_dumppg_restore有关更多信息,请访问有关升级的文档部分

错误和兼容性测试

每个 PostgreSQL 版本的稳定性在很大程度上取决于您(社区)使用您的工作负载和测试工具测试即将推出的版本,以便在 PostgreSQL 16 全面可用之前发现错误和回归。由于这是 Beta,因此对数据库进行了细微更改行为、功能细节和 API 仍然是可能的。您的反馈和测试将有助于确定新功能的最终调整,因此请在不久的将来进行测试。用户测试的质量有助于确定我们何时可以发布最终版本。

PostgreSQL wiki 中公开了未解决问题的列表。您可以 使用 PostgreSQL 网站上的此表单报告错误:

https://www.postgresql.org/account/submitbug/

链接

  • 下载https://www.postgresql.org/download/
  • 发行说明https://www.postgresql.org/docs/release/
  • 安全https://www.postgresql.org/support/security/
  • 版本控制策略https://www.postgresql.org/support/versioning/
  • Beta 测试信息https://www.postgresql.org/developer/beta/
  • PostgreSQL 16 Beta 发行说明https://www.postgresql.org/docs/16/release-16.html
  • PostgreSQL 16 未决问题https://wiki.postgresql.org/wiki/PostgreSQL_16_Open_Items
  • 在 Twitter 上关注 @postgresqlhttps://twitter.com/postgresql

如果您对此发布公告有任何更正或建议,请将其发送至pgsql-www@lists.postgresql.org公共 邮件列表


文章来源:https://www.postgresql.org/about/news/postgresql-154-149-1312-1216-1121-and-postgresql-16-beta-3-released-2689/


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论