Search code examples
databasepostgresqlherokuimport

How can I import a .sql file into my Heroku postgres database?


I have a backup sql file from another database that I want to import into Heroku's postgres database. How do you do that?


Solution

  • This is how you do it:

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

    And if you want to restore your production into staging (assuming both are 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
    

    Make sure to preserve the special single quotes around heroku pgbackups:url --app YOUR_PRODUCTION_APP_NAME.


    HEROKU TOOLBELT UPDATE

    Heroku has recently updated their toolbelt so the old commands are no longer valid (see this link for more info). Below is the new version of the restore command.

    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