PostgreSQL 11 Beta 2 发布!

发布于 2018-06-28,作者:PostgreSQL 全球开发组
PostgreSQL 项目

PostgreSQL 全球开发组宣布 PostgreSQL 11 的第二个 Beta 版本现已可供下载。此版本包含了 PostgreSQL 11 最终版本中的所有功能预览(尽管在最终版本发布之前,某些细节可能会更改),以及在第一个 Beta 版本中报告的错误修复。

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

升级到 PostgreSQL 11 Beta 2

要从 Beta 1 或更早版本的 PostgreSQL 升级到 PostgreSQL 11 Beta 2,您需要使用类似于在 PostgreSQL 主要版本之间升级的策略(例如,pg_upgradepg_dump / pg_restore)。有关更多信息,请访问 升级 文档部分。

PostgreSQL 11 主要功能的变更

PostgreSQL 11 Beta 1 版本宣布将 “SCRAM 身份验证的通道绑定” 作为一项主要功能,因为它可以在使用 SCRAM 身份验证时防止中间人攻击。在测试过程中,确定 PostgreSQL 的客户端连接库 libpq 无法强制使用通道绑定

虽然此功能可以在未来的 PostgreSQL 版本中修复,但目前,SCRAM 身份验证的通道绑定将不被视为 PostgreSQL 11 的主要功能。

自 Beta 1 以来的更改

在 Beta 1 期间报告并应用于 Beta 2 版本的 PostgreSQL 11 存在许多错误修复。Beta 2 版本中还包含了针对版本 10 或更早版本报告的、也影响版本 11 的几个错误修复。这些修复包括:

  • 对 XML 支持的几个修复,包括使用文档节点作为 SQL 标准中定义的 XPath 查询的上下文,这会影响 xpathxpath_exists 函数以及 XMLTABLE
  • 与 VACUUM 相关的几个修复,包括潜在的数据损坏问题
  • 对分区的修复,包括确保分区与临时表一起使用,消除 INSERT 上不必要的额外分区约束检查,以及为按分区聚合生成不正确的路径
  • 修复了副本服务器可能崩溃的问题,其中副本会尝试读取回收的 WAL 段
  • 修复了 pg_replication_slot_advance,包括如果槽未被推进则返回 NULL,以及根据它是物理还是逻辑复制槽更改槽的更新方式
  • 确保 pg_resetwal 可以使用数据目录的相对路径
  • 对查询并行性的修复,包括通过忽略查询计划中并行不安全路径的“并行追加”来防止崩溃
  • 修复了在并行查询中使用时,variance 和类似的聚合函数返回准确结果的问题
  • 修复了 COPY FROM .. WITH HEADER 在每处理 4,294,967,296 行后会删除一行的问题
  • 确保所有与内存相关的配置参数都接受 “B” (字节) 参数
  • 对 PL/Python 和 PL/Perl 中的 JSONB 转换的几个修复
  • 修复了 plpgsql 检查语句时需要在重写之前检查原始写入语句的问题,这可能会导致崩溃
  • 修复了 SHOW ALL 以向允许读取所有设置的角色显示超级用户配置设置的问题
  • 修复了 pg_upgrade,确保在使用带有非 NULL 默认值的 “快速 ALTER TABLE .. ADD COLUMN” 功能时写入默认值
  • 对内存泄漏的几个修复
  • 对 Windows 平台的几个特定修复

此更新还包含 tzdata 版本 2018e,其中包含对朝鲜的更新。2018e 还重新引入了最初在 2018a 中引入的负 DST 更改,这会影响爱尔兰 (1971-) 的历史和当前时间戳,以及纳米比亚 (1994-2017) 和前捷克斯洛伐克 (1946-1947) 的历史时间戳。如果您的应用程序存储了受影响日期范围内这些时区的时间戳,我们请您进行测试以确保您的应用程序按预期运行。

测试错误和兼容性

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

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

https://postgresql.ac.cn/account/submitbug/

Beta 发布时间表

这是 11 版本的第二个 Beta 版本。PostgreSQL 项目将根据测试需要发布额外的 Beta 版本,然后发布一个或多个候选版本,直到 2018 年末发布最终版本。有关更多信息,请参见 Beta 测试 页面。

链接