使用Heroku创建PostgreSQL后,能否在本地开发环境搭建该数据库?
本地搭建与Heroku PostgreSQL对应的开发数据库完全可行!
当然可以!就算Heroku官方文档里没把这个操作明明白白列出来,你也完全能在本地搭建一个和Heroku PostgreSQL对应的开发数据库。下面是一套靠谱的分步操作:
先准备本地依赖工具
确保你已经安装了PostgreSQL(建议版本和Heroku上的一致,避免兼容性问题)和Heroku命令行工具(Heroku CLI)。登录Heroku账户
打开终端,运行以下命令完成登录:heroku login按照终端提示完成身份验证即可。
同步Heroku数据库到本地(两种方案可选)
根据你的需求选一种方法就行:- 方案一:完整导出生产数据并导入本地(适合需要真实数据测试的场景)
- 先在Heroku上创建数据库备份:
heroku pg:backups:capture -a 你的Heroku应用名称 - 将备份文件下载到本地:
下载完成后,你会得到一个名为heroku pg:backups:download -a 你的Heroku应用名称latest.dump的备份文件。 - 在本地创建一个空的PostgreSQL数据库:
createdb 你的本地数据库名称 - 将备份文件导入本地数据库:
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U 你的本地PostgreSQL用户名 -d 你的本地数据库名称 latest.dump
- 先在Heroku上创建数据库备份:
- 方案二:仅同步数据库表结构(适合不需要生产数据的开发场景)
直接运行以下命令,它会自动创建本地数据库并同步Heroku数据库的表结构:heroku pg:pull DATABASE_URL 你的本地数据库名称 -a 你的Heroku应用名称
- 方案一:完整导出生产数据并导入本地(适合需要真实数据测试的场景)
配置本地应用连接
把你的本地开发环境的数据库连接地址设置为本地数据库的地址,比如设置环境变量DATABASE_URL为:postgres://你的本地PostgreSQL用户名:你的密码@localhost:5432/你的本地数据库名称这样你的应用就能像连接Heroku数据库一样和本地数据库交互了。
版本匹配小技巧
为了避免PostgreSQL版本差异导致的问题,先查看Heroku上的数据库版本:heroku pg:info -a 你的Heroku应用名称然后本地安装对应版本的PostgreSQL,能减少很多不必要的兼容性bug。
如果过程中遇到权限问题,检查下本地PostgreSQL用户的权限设置,或者尝试用管理员身份运行终端(Windows)、加sudo前缀(Linux/macOS)重新执行命令。
内容的提问来源于stack exchange,提问作者user3056783
相关产品推荐
相关产品推荐

