2013-01-09 13 views
10

Ich habe einen lokalen psql-Datenbank-Dump, der auf heroku hochgeladen werden muss. Ich folgte den Schritten im Abschnitt Update von this link. Alles funktionierte gut, bis der letzte Teil, das eigentliche Hochladen Schritt:heroku pgbackups: restore: Ungültiges Speicherformat

Heroku pgbackups: restore --app myAppName DATABASE 'https://www.dropbox.com/myAppPSQLDumpLink/myAppName_local.dump' --confirm myAppName

Das war, was in der zeigte nach oben Konsole:

HEROKU_POSTGRESQL_SILVER_URL (DATABASE_URL) <---restore--- myAppName_local.dump 

Retrieving... done 

! An error occurred and your restore did not finish. 

Und der Fehler aus den Protokollen war (mit freundlicher Genehmigung von Toby Hede's question):

2013-01-09T15:39:09+00:00 app[pgbackups]: Invalid dump format: /tmp/GgUz5yU4bF/project_mgr_development_local.dump: HTML document text 

Ich habe versucht, für diesen Fehler gesucht, konnte aber nicht eine Antwort finden. Weiß jemand, was getan werden muss, um das Problem zu lösen? Die eigentliche Dump für meine lokale psql Datenbank wurde auf diese Weise durchgeführt:

pg_dump -Fc --no-acl --no-owner -U myUserName > myAppName_local.dump 

Thank you!

+0

Die Art, wie ich den Datenbank-Dump in die Heroku-Anwendung hochgeladen habe, war die Verwendung des Tools https://postgres.heroku.com/.Sie müssen: 1) wählen Sie die Heroku-Anwendung, die Sie die Datenbank für aktualisieren möchten 2) wählen Sie "PG Restore" aus dem Dropdown-Menü "Verbindungseinstellungen" 3) kopieren und fügen Sie den bereitgestellten Text über den richtigen Link zu Ihr Datenbank-Dump. – Alexandra

+0

Die PG-Wiederherstellungsoption scheint auf Heroku nicht mehr verfügbar zu sein. – allenwlee

Antwort

17

Sieht aus wie der Link auf die Deponie auf Dropbox wird Umleitung oder zeigt auf eine HTML-Seite (HTML-Dokument Text in dem Fehler). Besuchen Sie den Link und stellen Sie sicher, dass Sie den Dump direkt erhalten. Oder laden Sie den Speicherabzug in Ihrem Browser herunter, klicken Sie mit der rechten Maustaste darauf und kopieren Sie den Download-Link. Dieser Link sollte mit pgbackups funktionieren: restore.

+3

Das Herunterladen des Speicherauszugs im Browser, das Klicken mit der rechten Maustaste und das Kopieren des Download-Links funktionierten. Vielen Dank! – Alexandra

+0

Es funktionierte auch für mich. –

+0

Ich habe einen Dropbox-Link, der direkt zur Datei geht ... bekomme immer noch den Fehler! :( –

0

Nach Importing and Exporting Heroku Postgres Databases with PG Backups, können Sie Dump-Terminal mit wiederherzustellen:

$ curl -o latest.dump `heroku pgbackups:url --app heroku_appname` 
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump 
+2

Dies funktioniert, wenn Sie den Speicherauszug lokal wiederherstellen. Die ursprüngliche Frage zum Wiederherstellen des Speicherauszugs auf einer Heroku-Instanz –

0

Haben Sie den gleichen Fehler, aber anderen Grund, so andere Lösung. Vielleicht hilft es jemandem.

Wenn Sie die Speicherabbilddatei auf einem Server mit HTTPS gespeichert haben und versehentlich HTTP für die Datenbank-URL verwendet haben, wird die Weiterleitung als HTML-Dokument interpretiert.

So

heroku pgbackups:restore --app myAppName DATABASE 'http://www.example.com/my.dump' --confirm myAppName 

zu

heroku pgbackups:restore --app myAppName DATABASE 'https://www.example.com/my.dump' --confirm myAppName 
+0

Vielen Dank für Ihre Bemühungen, anderen zu helfen.In dieser Frage stellt sich jedoch die Frage, dass er https bereits verwendet.So ist dies keine Antwort auf die Frage, sondern eine Antwort auf eine andere möglicherweise ähnliche Frage, die nicht sein muss noch nicht gefragt. Wenn Sie möchten, können Sie diese modifizierte Frage selbst posten und auch selbst beantworten. – tomsv

+0

Danke! Sie stellt nicht explizit fest, dass sie weiß, dass sie https verwendet (nur Hacking mit einer Dropbox, die auf Dropbox gehostet wird, die https verwendet), so dass sie und andere möglicherweise nicht wissen, dass https etwas mit "ungültiges Speicherformat" zu tun hat . Gleiche Fehlermeldung, aber andere Ursache. Du hast recht, eine neue Frage zu erstellen und zu beantworten, ist eine gute Idee. – hwrod

5

Dropbox eine Erklärung ändern zum direkten Herunterladen von Dateien (https://www.dropbox.com/en/help/201) bietet Dies kann für die Verwendung der Dropbox Links in pg_backups hilfreich sein.

Kurz gesagt heißt es, den Download-Link mit der Option "dl = 1" anstelle von "dl = 0" zu haben. Aber das hat nicht für mich funktioniert. Selbst das Kopieren der Adresse der heruntergeladenen Datei funktionierte nicht für mich.

Wenn die oben genannten Probleme auftreten, versuchen Sie, die Datei in den Öffentlichen Ordner zu verschieben und den Link von dort zu kopieren. Das hat für mich funktioniert.

+0

@ Stonz2 Hallo, ich bin neu. Was denkst du jetzt über die Antwort? – Jojjen

+0

Zunächst einmal Willkommen bei Stack Overflow! Wie formatiert, ist Ihre Antwort jetzt viel besser. Schlagen Sie in der Hilfe unter [Antworten] (http://stackoverflow.com/help/how-to-answer) nach, wenn Sie weitere Fragen dazu haben, was eine gute Antwort ist. – Stonz2

0

Ich habe alle obigen Antworten versucht, aber keine funktionierte für mich. Hier ist eine post Ich komponierte nach dem Sehen dieser SO. Ich hoffe, es ist hilfreich für jemand anderen.