ローカルで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