Heroku を使用していて、アプリ (heroku) からデータベースをダウンロードして変更を加えることができるようにしたいのですが、pgbackups をインストールしましたが、使用heroku pgbackups:url
すると .dump ファイルがダウンロードされます
postgresql ファイルをダウンロードしたり、その .dump を postgresql ファイルに変換するにはどうすればよいですか?
Heroku を使用していて、アプリ (heroku) からデータベースをダウンロードして変更を加えることができるようにしたいのですが、pgbackups をインストールしましたが、使用heroku pgbackups:url
すると .dump ファイルがダウンロードされます
postgresql ファイルをダウンロードしたり、その .dump を postgresql ファイルに変換するにはどうすればよいですか?
Heroku の pgbackups を使用している場合 (おそらくこれを使用する必要があります):
$ heroku pg:backups capture
$ curl -o latest.dump `heroku pg:backups public-url`
それをpostgres dbに「翻訳」します
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
https://devcenter.heroku.com/articles/heroku-postgres-import-exportを参照してください
CLI には、heroku db:pull
これを実行するコマンドがあります。db:pull
少し遅くなる可能性があるので、次のオプションを使用することをお勧めします。
複雑なポストグレス データ タイプ (hstore、配列など) を使用している場合は、基本的に Heroku でバックアップを行い、ローカルに復元するpgtransfer プラグインhttps://github.com/ddollar/heroku-pg-transferを使用する必要があります。 .
更新: db:pull
anddb:push
は廃止されたため、and に置き換える必要がありますpg:pull
-pg:push
詳細については、https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pullを参照してください。
データベースをローカルサーバーにダウンロードして複製する最も簡単な方法は次のとおりです。
**PGUSER**=LOCAL_USER_NAME PGPASSWORD=LOCAL_PASSWORD heroku pg:pull --app APP_NAME HEROKU_POSTGRESQL_DB_NAME LOCAL_DB_NAME
詳細については、このドキュメントを参照してください: https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull