Tips

IT技術系Tips

postgreSQLのインポートとエクスポート

エクスポート

定義のみ

pg_dump -U postgres -f schema.sql -C -F p -v -s my_schema_name

複数社にパッケージを納品する場合などに使用する。
バックアップとしてエクスポートする場合には、データも含める必要があるので、このオプションの組み合わせだけじゃダメ。

オプション 意味 備考
-U postgres DBのpostgresユーザーで処理を行う。 OSのユーザーではなくDBのユーザー。-Uで指定しない場合、OSでログイン中のユーザー名で、処理しようと試みる。
-f schema.sql 出力するファイル名。
-C create database構文を含める。
-F p 出力形式をplain(SQL)にする。 現地でインポートに失敗した場合に対処しやすいためお勧め
-v 進行状況やエラーを出力する。 導入時に標準出力とエラー出力をリダイレクトしてファイルに保存できるためお勧め。
-s my_schema_name エクスポートするスキーマ名を指定する。 これを指定しないと、publicスキーマとかも出力されるっぽい。

インポート

標準出力、エラー出力に吐かれたログをlog.txtに記録しつつインポート

"c:\Program Files\PostgreSQL\9.2\bin\psql.exe" -U postgres < schema.sql 2>&1 > log.txt