PostgreSQL 全球开发组宣布 PostgreSQL 11 的第二个 Beta 版本现已可供下载。此版本包含了 PostgreSQL 11 最终版本中的所有功能预览(尽管在最终版本发布之前,某些细节可能会更改),以及在第一个 Beta 版本中报告的错误修复。
本着 PostgreSQL 开源社区的精神,我们强烈建议您在数据库系统中测试 PostgreSQL 11 的新功能,以帮助我们消除可能存在的任何错误或其他问题。虽然我们不建议您在生产环境中使用 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 身份验证时防止中间人攻击。在测试过程中,确定 PostgreSQL 的客户端连接库 libpq 无法强制使用通道绑定。
虽然此功能可以在未来的 PostgreSQL 版本中修复,但目前,SCRAM 身份验证的通道绑定将不被视为 PostgreSQL 11 的主要功能。
在 Beta 1 期间报告并应用于 Beta 2 版本的 PostgreSQL 11 存在许多错误修复。Beta 2 版本中还包含了针对版本 10 或更早版本报告的、也影响版本 11 的几个错误修复。这些修复包括:
xpath
和 xpath_exists
函数以及 XMLTABLEINSERT
上不必要的额外分区约束检查,以及为按分区聚合生成不正确的路径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 版本 2018e,其中包含对朝鲜的更新。2018e 还重新引入了最初在 2018a 中引入的负 DST 更改,这会影响爱尔兰 (1971-) 的历史和当前时间戳,以及纳米比亚 (1994-2017) 和前捷克斯洛伐克 (1946-1947) 的历史时间戳。如果您的应用程序存储了受影响日期范围内这些时区的时间戳,我们请您进行测试以确保您的应用程序按预期运行。
每个 PostgreSQL 版本的稳定性很大程度上取决于您(社区)使用您的工作负载和测试工具测试即将发布的版本,以便在 PostgreSQL 11 发布之前发现错误和回归。由于这是一个 Beta 版本,数据库行为、功能细节和 API 仍有可能进行细微更改。您的反馈和测试将有助于确定新功能的最终调整,因此请在近期进行测试。用户测试的质量有助于确定我们何时可以发布最终版本。
PostgreSQL wiki 中公开提供了 未解决问题 的列表。您可以使用 PostgreSQL 网站上的此表单 报告错误
https://postgresql.ac.cn/account/submitbug/
这是 11 版本的第二个 Beta 版本。PostgreSQL 项目将根据测试需要发布额外的 Beta 版本,然后发布一个或多个候选版本,直到 2018 年末发布最终版本。有关更多信息,请参见 Beta 测试 页面。