2017-02-24 103 views
0

已经通过stackoverflow以及不同论坛上的不同解决方案。但没有一个解决确切的问题。Heroku数据库恢复问题

按照文档:https://devcenter.heroku.com/articles/heroku-postgres-import-export

我从我的本地数据库中创建的dump文件,使用此命令:

pg_dump -Fc --no-acl --no-owner -h localhost -U postgres dss_iaya>dss_iaya_db_dump1.dump 

然后按照文件,上传到服务器公开访问URL:https://firebasestorage.googleapis.com/v0/b/iaya-664f3.appspot.com/o/dss_iaya_db_dump1.dump?alt=media&token=06167d04-1e98-4e4b-b0e0-9d83a86dd167

现在当我尝试恢复Heroku根据其文档语法heroku pg:backups:restore [BACKUP] [DATABASE] --app APP使用以下命令,它在还原时返回错误消息。

heroku pg:backups:restore --app heroku-postgres-*** 'https://firebasestorage.***/dss_iaya_db_dump1.dump?alt=media&token=***' 'postgres://quesu***:I***@ec2-54-***.eu-west-1.compute.amazonaws.com:5432/d3n***k0' 

我已经使用***只能是出于安全目的,如不能提完整的凭据。但我相信可以理解整个语法。

当我恢复它的工作没有任何问题,并创建/新创建的本地数据库上同.dump文件恢复表和数据的整个数据库。

Command console screen

Info log

+0

什么'heroku pg:backups:info r006'显示?.. –

回答

0

就找到了解决办法,实际上是两个事情是错误的,我的情况。

其中,上传的.dump文件不易读取/ heroku可用。

两个,heroku postgresql DB完整的URL不需要提供。

所以,这对我工作的正确方法是,上传的文件应该可以访问没有任何标志,也没有任何虚拟/间接路径等的URL文件应指向文件直接在我提出的问题中,我使用firebase来临时托管我的DB文件以执行heroku操作。并且firebase未给出上传的物理文件的直接网址。

heroku pg:backups:restore --app heroku-postgres-f3*** 'https://www.h***.com/dss_iaya_db_dump2.dump' DATABASE_URL 

键入此命令后,我被要求重新输入heroku应用程序名称只是为了确认操作。一旦完成,一切都像魅力一样。

1

在日志中可以看到转储大小:0字节。你也看到中止和, 因此,如果您检查您的文件:https://llfirebasestorage.googleapis.com/vo/b/iaya-664f3.appspot.com/0/dss_iaya_db_dump1.dump?a1t=media

你:

404. That’s an error. 

The requested URL /vo/b/iaya-664f3.appspot.com/0/dss_iaya_db_dump1.dump was not found on 

此服务器。我们知道的就这些。

+0

谢谢,这指出问题区域方向正确。不过,刚才我刚刚提出了解决问题的办法。爱你的迅速反应:) –