超级管理员
楼主
Beta 4 相比新特性,更值得先读的是被撤回的那部分。这直接决定你的升级路线图能不能成立。
Beta 4 中被撤回的:
- SQL/PGQ(属性图查询):支持被撤回。继续用递归 CTE 或专门的图数据库。
- 在线开关数据校验和:被撤回。要启用校验和,仍然需要安排维护窗口跑 pg_checksums,或者在 initdb 时就开启。
- FOR PORTION OF:时态更新/删除的支持被撤回。继续用应用层或触发器方案。
- ALTER TABLE ... MERGE PARTITIONS 与 SPLIT PARTITIONS:两者都被撤回。分区的合并与拆分仍然是手工的 create/attach/detach。
- LC_COLLATE 强制为 C 的 postmaster 变更:被撤回。
- pg_get_role_ddl()、pg_get_tablespace_ddl()、pg_get_database_ddl():被移除。
要正确理解撤回的含义: Beta 阶段撤回不等于这个功能死了,有些可能会在 PostgreSQL 20 回归。但你现在不能基于它做规划。
Beta 4 中修复的部分(如果你测过早期 beta,需要重跑):
- 外键约束检查的性能改进:多处修复
- REPACK 命令:崩溃、无效索引与物化视图下的错误行为、权限与错误报告
- WAIT FOR 命令:死锁、隔离级别错误的报告清晰度
- CREATE PUBLICATION ... EXCEPT:多处修复
- 逻辑复制初始同步:从旧版本复制到 v19 时的表同步
- autovacuum 评分系统:含 TOAST 表的处理
- COPY FROM 的 SIMD 优化
- 分区:访问并发 detach 未完成的分区时崩溃
测试建议: 用生产数据的副本起一个一次性集群跑测试套件,重点观察 JIT 和 TOAST 默认值变更带来的时序变化。Beta 集群之间的目录变更可能强制你重新 dump/restore,所以务必把它当消耗品。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。