У меня есть резервный sql файл из другой базы данных, который я хочу импортировать в базу данных postgres Heroku. Как вы это делаете?
Как я могу импортировать файл .sql в мою базу данных postgres Heroku?
Ответ 1
Вот как вы это делаете:
heroku pg:psql --app YOUR_APP_NAME_HERE < updates.sql
И если вы хотите восстановить свою постановку в стадии постановки (при условии, что оба они являются DBG postgres):
heroku pgbackups:restore YOUR_STAGING_DATABASE_NAME `heroku pgbackups:url --app YOUR_PRODUCTION_APP_NAME` --app YOUR_STAGING_APP_NAME --confirm YOUR_STAGING_APP_NAME
Обязательно сохраните специальные одиночные кавычки вокруг "heroku pgbackups: url --app YOUR_PRODUCTION_APP_NAME".
-------- ОБНОВЛЕНИЕ TOOLBELT HEROKU --------
Heroku недавно обновил свою инструментальную панель, чтобы старые команды перестали действовать (см. эту ссылку для получения дополнительной информации). Ниже приведена новая версия команды restore.
heroku pg:backups restore `heroku pg:backups public-url -a YOUR_PRODUCTION_APP_NAME` YOUR_STAGING_DATABASE_NAME --app YOUR_STAGING_APP_NAME --confirm YOUR_STAGING_APP_NAME
Ответ 2
Создание файла резервной копии:
pg_dump -U USERNAME DATABASE --no-owner --no-acl -f backup.sql
Восстановление из sql файла в герою:
heroku pg:psql --app APPNAME < backup.sql
(Бонус) Удаление всех таблиц из базы данных приложения heroku (пример):
heroku pg:reset --app APPNAME HEROKU_POSTGRESQL_ROSE
получить DATABASE_URL из панели posgresql heroku (строка psql)
Ответ 3
Загрузите SQL в локальный экземпляр Postgres и убедитесь, что он исправлен. Затем сбрасывайте данные, используя следующие направления: https://devcenter.heroku.com/articles/heroku-postgres-import-export
Наконец, выгрузите дамп на общедоступный веб-сервер (например, S3) и верните его в Heroku следующим образом:
heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump'