2017-02-24 99 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

謝謝,這指出問題區域方向正確。不過,剛纔我剛剛提出瞭解決問題的辦法。愛你的迅速反應:) –