LoginSignup
2
1

More than 3 years have passed since last update.

【PostgreSQL】ローカルのデータベースをダンプして本番環境へ移す

Posted at

あまり記事がヒットせず少しハマったのでメモ

PostgreSQL heroku ローカルDBを本番環境へなどで検索すると、S3にデータファイルをコピーして、本番環境のサーバーでそれを読み込むみたいな手順がよく出てくるのですが、なぜかサーバー側からS3にアクセスできなかったりハマりました。。。

ローカルに作成したdumpファイルを利用して本番環境に反映できたのでその手順です

ダンプ

まずはローカルのDB情報を取り出して保存します
(これダンプって言うの知りませんでした笑)

呪文が色々ありますが以下のようにターミナルに入力します

$ pg_dump  --no-acl --no-owner -h localhost -U ユーザー名 データベース名 > mydb.dump

ユーザー名がhoge、データベース名がhoge_developmentとかなら次のように入力します

$ pg_dump  --no-acl --no-owner -h localhost -U hoge hoge_development > mydb.dump

これでカレントディレクトリにmydb.dumpというファイルが作成されます

リストア

続いて本番環境に反映させます(リストアって言うらしい)
次のとおり入力するだけです

$ heroku pg:psql -a アプリ名 < mydb.dump

アプリ名がhogeの場合は次のように入力します

$ heroku pg:psql -a hoge < mydb.dump

うまくいってればTableとかデータベースを作ってるっぽいログが出てきます
(ターミナルの履歴残ってなくて載せられない笑)

はいこれだけで終了です

これだけのために何時間かかかりましたね〜
コマンドたったの2行なのに、、、

是非参考にしてくださいな

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1