Heroku の PostgreSQL のデータをバックアップしてローカルのデータベースにリストアする
2022/11/25
pg_dump と pg_restore を使ったやり方なので、Heroku 関係なしにできる
Heroku のPostgreSQL からバックアップ
$ PGPASSWORD=${パスワード} pg_dump --format=custom --no-acl --no-owner -h ${ホスト名} -U ${ユーザー名} ${データベース名} > app_production.custom
フォーマットはカスタム形式にしている
データベース情報の確認
Heroku で使っている PostgreSQL の情報は以下のコマンドで確認することができる
$ heroku pg:credentials:url
ローカルにリストア
$ pg_restore --clean --no-acl --no-owner -h ${ホスト名} -U ${ユーザー名} -d ${データベース名} app_production.custom
Heroku のデータベースとローカルのデータベースの違いが原因で警告が表示されるが、無視しても問題ないらしい
実際にリストアできていることが確認できた