テキストファイルとのやりとり

テキストファイルからのデータ入力


  COPY テーブル名 FROM 'ファイル名' [[USING] DELIMITERS '区切り記号'] [WITH NULL AS 'NULLの値を表す文字列'];

CSV形式のテキストファイルから読み込む際の注意

CSV形式のテキストファイルの場合、通常、未入力のデータの項目は区切り記号が連続して現れるので結果として''(空文字列)になっ ている。
PostgresはNULL(\N)と''(空文字列)を厳密に区別する仕様である。(Oracleは区別しないそうだ)
したがって、COPYコマンドのオプションで WITH NULL AS ''  (シングルクォートが2回。ダブルクォートではない) で対応する。

テキストファイルへのデータ出力

psqlモードの中では

\copy テーブル名 to ファイル名