PostgreSQL で DB ダンプをエクスポート・インポートする

PostgreSQL で DB ダンプをエクスポートしたり、インポートしたりする。

エクスポートは次のように行う。

$ pg_dump -h 'example.com' -p 1921 -U postgres -d my_schema -v > ./example.dump

コレで、プレーンテキスト形式で落とせる。

インポート時は psql コマンドで。pg_restore というコマンドもあるが、コレは Tar やバイナリ形式でダンプを取得した場合に使うコマンド。

$ psql -h example.com -p 1921 -U postgres -d my_schema -f ./example.dump

-d オプションでデータベース名を指定しておかないと、デフォルトの postgres データベーススキーマにインポートされちゃったりして面倒臭いので注意。CREATE DATABASE は予め行っておこう。

ちなみに、Postgres への接続時のパスワード入力を省略するには、環境変数 PGPASSWORD で指定すると簡単。

# 次のようにコマンドを実行すれば、パスワード入力を省略できる
$ PGPASSORD=my_password pg_dump ……(以下略)
$ PGPASSORD=my_password psql ……(以下略)