我希望将现有的Postgres生产数据库导入到新的Heroku应用程序中。 Heroku建议将数据库的转储上传到S3之类的服务,以便pgbackup工具可以下载数据并导入Heroku数据库:https://devcenter.heroku.com/articles/heroku-postgres-import-export
我真的不想在公共S3网址上提供我的整个数据库的副本,即使只有几分钟。
是否有人知道将此数据传输到Heroku以进行导入的更安全方式?
答案 0 :(得分:0)
无需将数据库转储放在S3上。
您可以使用本地计算机上DATABASE_URL配置变量中的凭据直接连接到Heroku Postgres实例。它被分解为
postgres:<username>:<password>@<host>:5432/<databasename>
使用pg_restore
直接还原到实例,https://devcenter.heroku.com/articles/heroku-postgres-import-export上有一篇Heroku devcenter文章。该命令看起来像
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
将-U myuser
替换为-U <username>
,将-d mydb
替换为-d <databasename>