PostgreSQL 全球开发组宣布,PostgreSQL 11 的第二个 beta 版本现已可供下载。此版本包含了 PostgreSQL 11 最终版本中将提供的所有功能的预览(尽管发布的一些细节在最终发布前可能会有变动),以及在第一个 beta 版本期间报告的 bug 修复。
本着开源 PostgreSQL 社区的精神,我们强烈鼓励您在数据库系统中测试 PostgreSQL 11 的新功能,以帮助我们消除可能存在的任何 bug 或其他问题。虽然我们不建议您在生产环境中使用 PostgreSQL 11 Beta 2,但我们鼓励您寻找方法,让您的典型应用程序工作负载在该 beta 版本上运行。
要从 Beta 1 或更早版本的 PostgreSQL 升级到 PostgreSQL 11 Beta 2,您需要使用类似于 PostgreSQL 主版本升级(例如 pg_upgrade
或 pg_dump
/ pg_restore
)的策略。有关更多信息,请访问关于 升级 的文档部分。
PostgreSQL 11 Beta 1 版本宣布了“SCRAM 身份验证的通道绑定”作为一项主要功能,因为它可以防止在使用 SCRAM 身份验证时发生中间人攻击。在测试过程中,我们确定 libpq(PostgreSQL 的客户端连接库)无法强制使用通道绑定。
虽然此功能可以在未来的 PostgreSQL 版本中修复,但目前 SCRAM 身份验证的通道绑定将不被视为 PostgreSQL 11 的主要功能。
在 Beta 1 期间报告了许多针对 PostgreSQL 11 的 bug 修复,并已应用于 Beta 2 版本。包含在 Beta 2 版本中的还有针对版本 10 或更早版本报告但也影响版本 11 的几项 bug 修复。这些修复包括:
xpath
和 xpath_exists
函数以及 XMLTABLE。INSERT
时消除不必要的额外分区约束检查,以及生成错误的分区聚合路径。pg_replication_slot_advance
的修复,包括当槽未推进时返回 NULL
,以及根据是物理复制槽还是逻辑复制槽,槽更新方式的更改。pg_resetwal
可以使用数据目录的相对路径。variance
和类似的聚合函数时,返回准确结果的问题。COPY FROM .. WITH HEADER
在处理 4,294,967,296 行后会丢失一行的问题。SHOW ALL
显示给允许读取所有设置的角色超级用户配置设置的问题。pg_upgrade
,当使用带有非 NULL 默认值的“快速 ALTER TABLE .. ADD COLUMN”功能时,可以确保写入默认值。此更新还包含 tzdata release 2018e,其中包括朝鲜的更新。2018e 版本还重新引入了最初在 2018a 中引入的负 DST(夏令时)更改,这会影响爱尔兰(1971 年至今)、纳米比亚(1994-2017 年)以及前捷克斯洛伐克(1946-1947 年)的历史和当前时间戳。如果您的应用程序存储了受影响日期范围内具有这些时区的时间戳,我们恳请您进行测试,以确保您的应用程序行为符合预期。
每个 PostgreSQL 版本的稳定性很大程度上依赖于您,即社区,通过您的工作负载和测试工具来测试即将发布的版本,以便在 PostgreSQL 11 发布之前找到 bug 和回归。由于这是一个 Beta 版本,数据库行为、功能细节和 API 仍可能发生微小变化。您的反馈和测试将有助于确定新功能的最终调整,请尽快进行测试。用户测试的质量有助于我们确定何时可以发布最终版本。
PostgreSQL wiki 上公开提供了一个待解决问题列表。您可以使用 PostgreSQL 网站上的此表单报告错误。
https://postgresql.ac.cn/account/submitbug/
这是 11 版本的第二个 beta 版本。PostgreSQL 项目将在测试需要时发布额外的 beta 版本,随后发布一个或多个候选版本,直到 2018 年底发布最终版本。有关更多信息,请参阅 Beta 测试 页面。