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