将postgresql转储导入Heroku

将postgresql转储导入Heroku,postgresql,heroku,Postgresql,Heroku,我有一个java应用程序和一个运行在Heroku上的postgresql数据库。我可以很好地推送我的应用程序,但是DB内容呢?我已经从数据库导出了一个完整的转储文件,但我不知道如何才能导入它 通过谷歌搜索,你可以发现哪一个是有限的rubygem,而不是推送所有需要的东西。我有序列、bigint数据类型等。我还尝试使用刚刚连接并停止的heroku pg:psql--app MYAPP

我有一个java应用程序和一个运行在Heroku上的postgresql数据库。我可以很好地推送我的应用程序,但是DB内容呢?我已经从数据库导出了一个完整的转储文件,但我不知道如何才能导入它

通过谷歌搜索,你可以发现哪一个是有限的rubygem,而不是推送所有需要的东西。我有序列、bigint数据类型等。我还尝试使用刚刚连接并停止的
heroku pg:psql--app MYAPP
导入,然后转到
heroku pg:psql--app MYAPP
并发出
\I db_all.out
权限投诉


我该怎么做呢?

您可以使用heroku pg:credentials heroku POSTGRESQL提供的凭据从本地计算机上运行
pg\u restore
命令来帮助其他仍然偶然发现这个问题的人,对我有效的是,但需要做一些修改

更准确地说:

  • 从源PostgreSQL数据库创建转储
    $ PGPASSWORD=YOUR_PG_PASSWORD pg_dump -Fc --no-acl --no-owner -h localhost -U YOUR_PG_USER YOUR_DB_NAME > YOUR_DB_NAME.dump
    
  • 获取Heroku应用程序的Heroku Postgres凭据
    $ heroku pg:credentials:url -a YOUR_APP_NAME
    
  • 尝试使用上述凭据将PostgreSQL转储导入Heroku
    $ pg_restore --verbose --clean --no-acl --no-owner -h HOSTNAME -U USER -d DATABASE -p PORT PATH/TO/YOUR_DB_NAME.dump --password
    
  • 输入从Heroku Postgres凭证收到的密码
  • 然后它应该成功导入转储

  • 非常感谢。实际上,这是需要的命令:
    pgu restore--verbose--clean--no acl--no owner-h-U-d-p password=
    在Postgres 9.4中,我发现我需要:
    PGPASSWORD=pgu restore--verbose--clean--no acl--no owner-h-U-d-p
    谢谢!你能澄清我是在为你的本地博士后输入数据库信息,还是为你从pg:credentials获得的heroku凭证输入数据库信息吗?谢谢@我们这里说的是heroku数据库