PostgreSQL 19 的第一个 RC 在 10 月 15 日发布,GA 计划 11 月 19 日。比原计划晚,而且 Beta 阶段宣传的几个大特性被砍了。规划升级的团队先看这份清单。
被移除的功能
官方 Beta 4 公告明确列出以下特性从 19 移除,留待后续大版本:SQL/PGQ 属性图查询、在线开关数据校验和、基于 FOR PORTION OF 的时态 UPDATE/DELETE、ALTER TABLE 的 MERGE/SPLIT PARTITIONS、几个 pg_get_*_ddl 函数。Beta 1 亮点里提到的 GROUP BY ALL 也不在当前发布说明里。
也就是说,如果你看到的教程把「图查询」当作 19 的新特性,那是过时信息。
留下的实用改进
INSERT ... ON CONFLICT DO SELECT ... RETURNING 让 upsert 能返回已存在的那一行,省掉「插入没返回就再查一次」的往返。外键检查整体变快。新增 WAIT 命令,备库会话可以等到指定 WAL 位置被写入/刷盘/重放,读己之写有了原生支持。jsonpath 补了 lower/upper/replace/split_part 与 trim 系列。COPY TO 能直接输出 JSON。NOTIFY 只唤醒订阅了对应 channel 的后端。
需要提前处理的破坏性变更
JIT 默认关闭、RADIUS 认证被移除、MD5 认证在成功登录后会触发警告。这三个在升级后第一时间就会撞上,尤其是 JDBC/驱动里写死了 md5 认证的老系统。
为什么这版这么保守
社区讨论里提到,LLM 辅助代码审查让已提交特性的缺陷被发现得快了很多,于是成批回滚。有人反驳说 AI 报的 bug 有相当比例是误报。不管哪边对,结果是一样的:这版更小、更稳。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。