PostgreSQL 10 Beta 3 已发布,这是 PostgreSQL 10 的第三个 beta 版,此版本包含 PostgreSQL 10 最终将提供的所有可用功能的预览,还包括对第二个 beta 版本中发现的许多问题的修复。
升级到 Beta3
-
从 PostgreSQL 10 beta1、beta2 进行升级
-
通过使用 pg_dump/pg_restore 或 pg_upgrade 从更早的版本进行升级
自 Beta 1 以来的变更
任何针对 9.6 或更早版本,且会影响 10 的错误修复程序都包含在 beta3 中,还修复了部分用户和贡献者反馈的关于 beta2 的错误,包括:
-
hash: Fix write-ahead logging bugs related to init forks
-
Fix oddity in error handling of constraint violation in ExecConstraints for partitioned tables
-
Use a real RT index when setting up partition tuple routing
-
Fix serious performance problems in json(b) to_tsvector()
-
Fix problems defining multi-column range partition bounds
-
Fix partitioning crashes during error reporting
-
Fix race conditions in replication slot operations
-
Fix very minor memory leaks in psql's command.c
-
PL/Perl portability fix: avoid including XSUB.h in plperl.c
-
Fix inadequate stack depth checking in the wake of expression execution changes
-
Allow creation of C/POSIX collations without depending on libc behavior
-
Fix OBJECT_TYPE/OBJECT_DOMAIN confusion
-
Remove duplicate setting of SSL_OP_SINGLE_DH_USE option
-
Fix crash with logical replication on a function index
-
Teach map_partition_varattnos to handle whole-row expressions
-
Fix lock upgrade hazard in ATExecAttachPartition
-
Apply ALTER … SET NOT NULL recursively in ALTER … ADD PRIMARY KEY
-
hash: Increase the number of possible overflow bitmaps by 8x
-
Only kill sync workers at commit time in subscription DDL
-
Fix bug in deciding whether to scan newly-attached partition
-
Make pg_stop_backup's wait_for_archive flag work on standbys
-
Fix handling of dropped columns in logical replication
-
Fix local/remote attribute mix-up in logical replication
请注意,有一些已知的问题仍未解决。按照发布路线图,PostgreSQL 项目将根据测试要求发布额外的 beta 版本,然后是一个或多个候选版,直到 2017 年底发布最终版。
除了发布 PostgreSQL 10 Beta 3,还对所有支持的版本进行了更新,包括 9.6.4, 9.5.8, 9.4.13, 9.3.18 和 9.2.22。
这次发布的版本修复了三个安全问题,还为过去三个月内反馈的超过 50 个的其他错误打了补丁。
受到以下安全问题影响的用户应尽快更新,并且受 CVE-2017-7547 这个问题影响的用户需要在升级后执行其他步骤才能解决问题。其他用户应计划在下一次停机的时间进行更新。
三个安全漏洞:
-
CVE-2017-7546: 在某些认证方法中可接受空密码
-
CVE-2017-7547: "pg_user_mappings"目录视图向缺少服务器权限的用户暴露了密码
-
CVE-2017-7548: lo_put() 函数忽视 ACLs