如何将Heroku Postgres导出的Dump文件数据导入ElephantSQL?
导入Heroku Postgres Dump数据到ElephantSQL
前置准备
先从ElephantSQL控制台复制你的数据库连接URL,格式为postgres://username:password@host:port/dbname
方法1:使用psql命令行(推荐,适合大文件)
- 打开终端,切换到dump文件所在的目录
- 执行导入命令,添加
--data-only参数跳过表结构创建(因为你已经有完整数据表):
psql "你的ElephantSQL连接URL" --data-only -f 你的Heroku导出dump文件名.sql
- 如果遇到外键约束导致的导入失败,先临时禁用外键检查再导入:
# 禁用外键约束 psql "你的ElephantSQL连接URL" -c "SET session_replication_role = 'replica';" # 导入数据 psql "你的ElephantSQL连接URL" --data-only -f 你的Heroku导出dump文件名.sql # 恢复外键约束 psql "你的ElephantSQL连接URL" -c "SET session_replication_role = 'origin';"
方法2:使用ElephantSQL Web控制台(适合小文件)
- 登录ElephantSQL后台,进入目标实例页面
- 点击左侧菜单的「Browser」选项
- 滚动到页面底部,点击「Import」按钮
- 选择本地的dump文件,在导入选项中勾选「Data only」(若有此选项),确认导入即可
注意:如果dump文件体积较大(超过5MB),Web控制台可能会超时,建议改用命令行方法
验证导入结果
- 用psql连接到ElephantSQL,执行查询确认数据:
SELECT COUNT(*) FROM 你的Django模型表名;
- 或者启动Render上的Django应用,检查前端或后台是否能正常读取到导入的数据
内容的提问来源于stack exchange,提问作者Kaiden
相关产品推荐
相关产品推荐

