データのエクスポートとインポート
PostgreSQL におけるデータのエクスポートとインポートについてです。 PostgreSQL に蓄積されたデータを csv ファイルとして出力する、取り込むといったことができます。
ここでは、psql コマンドプロントで \COPY コマンドを使います。
\COPY コマンドは、PostgreSQL データベースのテーブルレコードの出力と取り込みを行います。
ページ内 Index
- ad -
データのエクスポート
表計算用のCSVファイルとして出力することを前提にしています。以下の条件でCSV出力します。 ここでは、ユーザー制約を回避するために/copyメタコマンドを使用しています。
- レコードの先頭にカラム名を付加
- NULL値以外は引用符で囲む
- NULL値は空文字化
以下の例の'file_name'にファイルパスを含みます。table_nameはテーブル名、'file_name'はファイル名として読みかえて下さい。 データの区切り文字はCSVではデフォルトでカンマ「,」になります。
指定したオプションは以下のような機能があります。
HEADER | レコードの先頭にカラム名を加える。 |
FORCE QUOTE * | 非NULL値は強制的に全て引用符で囲む。CSVで\COPY TOのときのみ機能。 |
NULL AS '' | NULL値は空文字に置き換える |
CSVファイルを出力するだけでしたら以下のようになります。
データのインポート
以下の条件の CSV ファイルを取り込みます。ここでは、ユーザー制約を回避するために /copy メタコマンドで使用しています。
注意点として、テーブルに取り込むレコードが追加されます。取り込むテーブルに何もデータが無い状態か、追加してもよい状態である必要があります。
- レコードの先頭にカラム名がある
- NULL値は空文字
指定したオプションは以下のような機能があります。
HEADER | レコードの先頭はカラム名のレコード |
NULL AS '' | NULL値は空文字になっている |
CSVファイルの編集
もし、CSV ファイルから必要なカラムだけを抽出したい場合は、CSV ファイルを編集しなければなりません。
CSV ファイルの編集方法は「 CSV ファイルの編集」を参考にしてみて下さい。