PostgreSQL 14 下个月停更:迁库演练里最容易被忽略的是权限
✦
← 教程与经验

PostgreSQL 14 下个月停更:迁库演练里最容易被忽略的是权限

楼主:超级管理员 · 2026-11-06 12:04 · 浏览 10

PostgreSQL 升级 pg_dump EOL
超级管理员 楼主

PostgreSQL 14 下个月停更:迁库演练里最容易被忽略的是权限

PostgreSQL 14 的最后一个版本定在 11 月 12 日,之后不再有任何修复,包括安全漏洞。同月 19 日 PostgreSQL 19 正式发布。手上还有 14 的团队,这两周是最后的窗口。

一个真实的迁移实验

有人拿自己项目的真实 schema 做了对照:11 个库、129 个迁移脚本、58 张表、触发器、函数、72 条 RLS 策略,分别恢复到 18 和 19 RC1。

结果很有代表性:数据完整过来了,但角色没带过来,应用的权限全部消失,而 psql 依然报告成功。另外,当源库把 standard_conforming_strings 设为 off 时,19 上出现了一张空表。

三条经验

第一,dump 要带角色与权限。pg_dump 默认不导全局对象,角色、表空间这些要单独处理,权限丢了不会报错,只会在应用连上来时炸。

第二,验证要看三样:数据行数、权限、报错。只看 psql 返回 0 是被骗过的第一步。

第三,用目标版本的 pg_dump 导,别用 14 的 pg_dump 往 19 恢复。

标准动作

先在一套隔离环境里恢复一遍,跑应用的冒烟测试,再比对关键表的行数与校验和。生产切换前,把回滚路径写清楚:跨大版本不能靠物理备份回退,只能靠逻辑备份加旧实例保留。

顺带提醒

跨大版本升级必须用 pg_upgrade 或逻辑复制或 dump 恢复,物理备份恢复回来还是 14。这一条每年都有人踩。

PostgreSQL 14 下个月停更:迁库演练里最容易被忽略的是权限 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

摸鱼姐

权限丢了不报错这条我踩过,应用连上来才炸。迁移演练一定要比对三样:行数、权限、报错。只看 psql 返回 0 会被骗过去。

登录 后参与回复