LoginSignup
11
15

More than 5 years have passed since last update.

Heroku にローカルの postgreSQL で dump したデータをインポートする

Last updated at Posted at 2016-03-04

Heroku を使っていてローカルで開発していると、ローカルで開発しているデータを
そのまま本番に移したいときがあった。
Herokuのチュートリアルを読むと、postgres のダンプファイルをS3に移してそれをpg_restore を使ってコピーしろと書いてあったが、S3のアカウントをつくるのがめんどくさいので、できればS3を経由せずにローカルdumpできるか試してみると、できたのでメモ

まずはdump

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

そしてローカルにできたDBをherokuコマンドを使ってそのまま流しこむ

$ heroku pg:psql --app my-heroku-app HEROKU_POSTGRESQL_MYCOLOR < mydb.dump 
---> Connecting to HEROKU_POSTGRESQL_AQUA_URL (DATABASE_URL)
SET
SET
SET
SET
SET
SET
CREATE EXTENSION
=====
中略
=====
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
COPY 746
 setval 
--------
      2
(1 row)

COPY 378
 setval 
--------
      1
(1 row)

COPY 731
 setval 
--------
      1
(1 row)
COPY 4718
COPY 1320
ALTER TABLE
CREATE INDEX
CREATE INDEX
=====
中略
=====

上記のようにテーブルがクリエイトされ、データが流し込まれていれば成功

参考(heroku公式)
Importing and Exporting Heroku Postgres Databases with PG Backups

11
15
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
11
15