Supabase能否手动升级Postgres版本?如何对齐不同项目的Postgres版本
Supabase项目Postgres版本对齐方案
优先方案:将TST环境升级至14.x版本
云托管用户操作步骤
- 升级前先完成TST环境全量备份:可使用控制台内置备份功能,也可自行执行命令导出数据:
- 导出全量业务数据:
pg_dump -h <TST数据库地址> -U <管理员用户名> -d postgres -f tst_full_backup.sql - 导出角色和权限配置:
pg_dumpall -h <TST数据库地址> -U <管理员用户名> -r -f tst_roles_backup.sql
- 导出全量业务数据:
- 进入TST项目Web控制台,打开「设置」-「基础设施」页面,找到Postgres大版本升级入口,选择14.x版本提交升级申请。升级过程会自动暂停服务,耗时取决于你的数据量大小。
- 升级完成后,验证所有自定义函数、扩展、业务逻辑的运行状态,和CI环境做一致性校验。
注:如果你的TST是较早创建的老项目,控制台没有公开升级入口,可直接在控制台提交支持工单,申请后台协助完成14.x版本升级,无需额外付费。
备选方案:将CI环境回退至13.3版本
- 先备份CI环境的全量数据、角色权限、扩展配置。
- 删除当前CI项目,重新创建新的CI项目,创建时选择Postgres 13.3版本;如果创建页面没有版本选择选项,可提交工单申请创建指定13.3版本的项目。
- 将备份的CI环境数据导入新创建的项目中,验证功能正常即可。
自托管用户操作方式
如果是自行部署的Supabase实例,直接修改两个环境docker-compose.yml文件中的postgres镜像标签,统一为对应版本的官方镜像即可:
- 对应Postgres 14.1使用镜像:
supabase/postgres:14.1.0.90 - 对应Postgres 13.3使用镜像:
supabase/postgres:13.3.0
修改完成后执行docker compose up -d重启服务生效,重启前务必做好数据备份。
内容的提问来源于stack exchange,提问作者Shorn
相关产品推荐
相关产品推荐

