Heroku pgbackups: restore: неверный формат дампа

У меня есть локальная дампа базы данных psql, которую нужно загрузить в герою. Я выполнил шаги в разделе "Обновление" из эту ссылку. Все работало нормально до последней части, фактический шаг загрузки:

heroku pgbackups: восстановить --app myAppName DATABASE 'https://www.dropbox.com/myAppPSQLDumpLink/myAppName_local.dump' --confirm myAppName

Вот что появилось в консоли:

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

Retrieving... done

 !    An error occurred and your restore did not finish.

И это была ошибка из журналов (любезно предоставлено вопросом Тоби Хеде):

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

Я попытался найти эту ошибку, но не смог найти ответ. Кто-нибудь знает, что нужно сделать для решения проблемы? Фактический дамп для моей локальной базы данных psql был выполнен следующим образом:

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

Спасибо!

Ответ 1

Похоже, что ссылка на дамп на Dropbox перенаправляет или указывает на HTML-страницу (текст документа HTML в ошибке). Перейдите по ссылке и убедитесь, что вы непосредственно получаете свалку. Или загрузите дамп в своем браузере, щелкните его правой кнопкой мыши и скопируйте ссылку на скачивание. Эта ссылка должна работать с pgbackups: restore.

Ответ 2

Dropbox предоставляет объяснение для непосредственной загрузки файлов (https://www.dropbox.com/en/help/201) Это может быть полезно для использования ссылок dropbox в pg_backups.

Вкратце говорится, что есть ссылка для скачивания с опцией "dl = 1", а не "dl = 0". Но это не сработало для меня. Даже копирование адреса загруженного файла не помогло мне.

Если вы столкнулись с вышеуказанными проблемами, попробуйте переместить файл в общую папку и скопируйте ссылку. Это сработало для меня.

Ответ 4

Получается та же ошибка, но другая причина, поэтому другое решение. Может быть, это помогает кому-то.

Если вы сохранили файл дампа на сервере с HTTPS и ошибочно использовали HTTP для URL-адреса базы данных, пересылка будет интерпретироваться как документ HTML.

Итак, измените

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

к

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

Ответ 5

Я попробовал все ответы выше, но никто не работал у меня. Здесь один post Я написал, увидев этот fooobar.com/info/538914/.... Надеюсь, что это поможет кому-то еще.