未迁移Heroku免费层Postgres致应用数据库为空,求助备份恢复方案
恢复Heroku Postgres数据库备份的解决方案
1. 查看Heroku上的可用备份
先通过命令查看关联应用的备份列表:
heroku pg:backups
免费层默认开启自动备份,执行后会列出所有备份条目,每个备份对应唯一ID(如b001)。
2. 从Heroku云端备份恢复到新实例
找到目标备份ID后,用以下命令将备份恢复到当前应用的Postgres实例:
heroku pg:restore <备份ID> DATABASE_URL --app <你的应用名称>
示例:
heroku pg:restore b001 DATABASE_URL --app my-demo-app
3. 从本地备份文件恢复
如果本地有.dump格式的备份文件,直接运行命令上传恢复:
heroku pg:restore --app <你的应用名称> <本地备份文件路径>
示例:
heroku pg:restore --app my-demo-app ./2024-05-20-db-backup.dump
注意事项
- 免费层自动备份仅保留最近几次,若之前删除过应用或手动清除备份,可能无法找到云端备份,只能依赖本地文件。
- 确保新Postgres实例版本与备份文件版本兼容,避免恢复失败。
- 恢复过程中应用会暂时无法访问,建议在低峰时段操作。
内容的提问来源于stack exchange,提问作者villancikos
相关产品推荐
相关产品推荐

