Heroku PostgreSQLのデータをpg_dumpする

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

スポンサードリンク

ローカルでpg_dumpが実行できる(PostgreSQLがインストール済など)の前提で。

Heroku DBのクレデンシャルを確認

$ heroku pg:credentials:url --app YOUR_APP_NAME

で、クレデンシャルが確認できる。

Connection information for default credential.
Connection info string:
   "dbname=dbname host=ec2-address.compute-1.amazonaws.com port=5432 user=username password=password sslmode=require"
Connection URL:
   postgres://user:password@ec2-address.compute-1.amazonaws.com:5432/dbname

のような出力で確認できる。


pg_dumpの実行

あとは、pg_dumpが実行できる環境で上記のクレデンシャルでexportすればよい。

pg_dump --no-acl --no-owner -h ec2-address.compute-1.amazonaws.com -U username -t target_table  --data-only dbname > target_table.dump


おまけ

Docker PostgreSQLにdumpファイルデータをimportする。-tのオプションが不要。

$ docker exec -i container_id psql -Uusername dbname < target_table.dump