PostgreSQL 9.4 Beta 3 发布

发布于 2014-10-09,作者:PostgreSQL 全球开发组

PostgreSQL 全球开发组发布了 9.4 Beta 3,这是新版本的下一个测试版。此测试版包含版本 9.4 中将提供的所有功能的预览,以及对测试 Beta 2 的用户发现的许多问题的修复。请下载、测试并报告您发现的问题。

Beta 3 中的主要更改是对 JSONB 数据类型格式的修改,以便使 JSONB 字段更具可压缩性并减少存储需求。此更改不向后兼容,因此使用 9.4 Beta 1 或 Beta 2 将数据加载到 JSONB 字段的用户需要使用 pg_dump 和 restore 来升级到 Beta 3。

自 9.4 Beta 2 以来所做的其他更改包括:

  • 将 pg_recvlogical 的 --create/--drop 重命名为 --create-slot/--drop-slot
  • 防止启动后台工作进程时出现无限延迟
  • 删除 num_xloginsert_locks GUC,替换为 #define
  • 修复 pg_dump 的 --if-exists 对于大型对象的问题
  • 删除对零长度 JSON 对象键的限制
  • 如果 json_object_agg 没有行,则返回 NULL
  • 将 ALTER SYSTEM 语句记录为 DDL
  • 修复 contrib/auto_explain 无法打印每个节点定时信息的问题
  • 对 TAP 检查进行了多项修复
  • 支持 ALTER SYSTEM RESET 命令
  • 修复 power_var_int() 对于大整数指数的问题
  • 修复 vacuumdb --analyze-in-stages --all 的顺序问题
  • 更改使用 pgbench --rate 选项计算延迟的方式
  • 支持带有事件触发器的 ALTER ... ALL IN
  • 删除对 pg_is_xlog_replay_paused() 的超级用户限制
  • 修复更新元组链上的 FOR UPDATE NOWAIT
  • 修复安全屏障视图的 Var 处理
  • 修复超级用户并发刷新由另一个用户拥有的物化视图
  • 不在 pg_stat_statements 中跟踪 DEALLOCATE
  • 修复 JSON/JSONB 字段提取运算符中的边缘情况行为
  • 更改 pg_basebackup 的表空间映射的实现方式
  • 将“MOVE ALL”重构为“ALTER .. ALL IN TABLESPACE”
  • 修复 jsonb #> 运算符中的核心转储
  • 恢复 psql 更改以支持包装的扩展模式
  • 在 pg_receivexlog 中公开 -S 选项
  • 拒绝外键引用列列表中重复的列名
  • 修复检查点进程崩溃
  • 对 JSON 和 JSONB 功能进行了许多小的修复
  • 对逻辑解码进行了许多小的修复
  • 对将在即将发布的小版本中包含的旧问题进行了多次错误修复。
  • 更多文档改进和更改

Beta 3 包括对 pg_control 和系统目录的更改。因此,测试过 Beta 1 或 Beta 2 的用户需要升级才能测试 Beta 3。我们建议使用 pg_upgrade 进行此升级,以便也测试该升级。

有关版本 9.4 Beta 中功能的完整列表,请参阅发行说明。有关新功能的其他描述和说明,请参见9.4 功能 Wiki 页面

我们依赖社区来帮助测试下一个版本,以确保其具有高性能且没有错误。请尽快下载 PostgreSQL 9.4 Beta 3 并使用您的工作负载和应用程序进行尝试,并向 PostgreSQL 开发人员提供反馈。 Beta 3 中的功能和 API 在最终发布之前不会发生重大变化,因此现在可以安全地开始针对新功能构建应用程序。有关如何测试和报告问题的更多信息

我们的下载页面获取 PostgreSQL 9.4 Beta 3,包括 Windows、Linux 和 Mac 的二进制文件和安装程序。

新版本的完整文档可在线获取,并且也随 PostgreSQL 一起安装。