Help us understand the problem. What is going on with this article?

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

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

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行なのに、、、

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

koki_73
レアなつよつよエンジニアを目指しています。 エンジニア集団の中で一意性制約に引っかからないように日々精進
https://koki-73.github.io/my-portfolio/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away