如何将.sql文件导入我的Heroku postgres数据库?

时间:2013-12-11 01:36:02

标签: database postgresql heroku import

我有一个来自另一个数据库的备份sql文件,我要将其导入到Heroku的postgres数据库中。你是怎么做到的?

4 个答案:

答案 0 :(得分:71)

您就是这样做的:

heroku pg:psql --app YOUR_APP_NAME_HERE < updates.sql

如果你想将你的作品恢复到舞台上(假设两者都是heroku postgres DBs):

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”周围保留特殊的单引号。

-------- HEROKU TOOLBELT UPDATE --------

Heroku最近更新了他们的工具带,因此旧命令不再有效(有关详细信息,请参阅this link)。以下是恢复命令的新版本。

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

答案 1 :(得分:17)

制作备份文件:

pg_dump -U USERNAME DATABASE --no-owner --no-acl -f backup.sql 

从sql文件恢复到heroku:

heroku pg:psql --app APPNAME < backup.sql 

(Bonus)从heroku app数据库中删除所有表(示例):

heroku pg:reset --app APPNAME HEROKU_POSTGRESQL_ROSE

从posgresql heroku面板(psql行)获取DATABASE_URL

答案 2 :(得分:2)

将SQL加载到本地Postgres实例中并确保它是正确的。然后使用此处的说明转储数据:https://devcenter.heroku.com/articles/heroku-postgres-import-export

最后,将转储上传到公共Web服务器(如S3)并恢复到Heroku,如下所示:

heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump'

答案 3 :(得分:0)

Windows上的Heroku上的Django本地数据库导入

创建备份

<asp:Button runat="server" ID="btn" Text="+" CssClass="btn btn-primary active" OnClick="btn_Click" />

在服务器上转储

pg_dump -U postgres -d hawkishfinance > C:\Users\Fauzan\Projects\hawkishfinance.sql