PostgreSQL データベース

【PostgreSQL】データベースをCSVでエクスポート&インポートする

投稿日:

スポンサードリンク

PostgreSQL(9.5.3)でデータベースのテーブルデータをCSVにエクスポートもしくはインポートしたときのメモ。

CSVエクスポート

\copy ([セレクト文]) to '[ファイル名]' delimiter ',';

エクスポートする際はテーブルの指定というよりセレクト文で指定しました。不要なデータがある場合などはここでWhereなどで条件を付けて選別できます。末尾の「delimiter」でカンマを指定してCSV形式とします。

CSVインポート

\copy [テーブル名] from '[ファイル名]' using delimiters ',' with NULL as '';

インポートするときはテーブル名と対象のファイル名を指定します。このとき指定のファイルはテーブルの列データと揃ってないとうまくインポートできないかもしれません(未確認)。

「with NULL as ''」でNULLを空文字として扱ってくれるそうです。

インポート時のエラー対処

ERROR: invalid input syntax for type real: "N"

上記のようなエラーが出てインポートできない場合があったので下記のように書き換えてインポートしました。

\copy [テーブル名] from '[ファイル名]' using delimiters ',' with NULL as '\N';
スポンサードリンク

-PostgreSQL, データベース

Copyright© めめんと , 2019 All Rights Reserved Powered by AFFINGER5.