Heroku的数据库恢复问题Heroku的数据库恢复问题(Heroku database resto

2019-05-12 10:23发布

通过上提供不同的解决方案了stackoverflow ,并在不同的论坛。 但没有解决问题精确。

按照文档: 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

然后按文档,上传到服务器的公共访问网址: 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新创建的本地数据库文件,它的工作没有任何问题,并创建/恢复表和数据的整个数据库。

Answer 1:

在日志中看到转储大小:0字节 。 你也可以看到中止403,因此,如果您检查文件: 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 

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



Answer 2:

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

一,上传.dump文件不是很好的可读/由可用heroku

二, heroku postgresql DB是不需要完整的URL来提供。

所以,这对我工作的正确方法是,上传的文件应该是可访问的没有任何标志,也没有任何虚拟/间接路径等的URL文件应直接指向该文件在我质疑的问题,我是用firebase来承载我的数据库文件,临时做heroku操作。 firebase并没有给予直接的URL上传的物理文件

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

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



文章来源: Heroku database restore issue