Heroku をデフォルトの PostgreSQL で運用していている場合の DB のバックアップ方法と DB の情報をローカルに再現する方法。
アドオンの追加
まずは、バックアップオプションを使用するためにアドオンを該当アプリに追加します。
1 | $ heroku addons:add pgbackups |
バックアップ一覧表示
バックアップの一覧を確認します。バックアップIDは、各バックアップを識別するためのIDです。
1 | $ heroku pgbackups |
エクポートURLの作成
このコマンドを実行するとこのバックアップをダウンロードできるURLが生成されます。
1 | $ heroku pgbackups:url バックアップID --app アプリID |
バックアップのダウンロード
バックアップファイルは .dump ファイルと呼ばれるようです。これをローカルにダウンロードするには下記のコマンドを実行します。
1 | $ curl -o backup.dump '生成したURL' |
この場合は、backup.dump
という名前で保存しています。クォーテーションマークは必須です。
ローカルに反映
遂にローカルへ反映です。
1 | $ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U ユーザー名 -d データベース名 バックアップファイル名 |
ユーザー名とデータベース名は下記のコマンドで確認できます。
1 | $ psql -l |
ちなみに、SQL を実行するには、
1 | $ psql データベース名 |