やりたいこと:
・oracleから抽出したデータをpostgreSQLに登録したい
・psql(コマンドラインのコピーコマンド)で登録したい
問題点:oracleから抽出したデータは、NULLが "" で出力される
※oracleから抽出する際に指定できるのかもしれないができなかった。(SET NULL に何いれればいい?)
対策:force_null(カラム名)を指定すれば "" がNULLで登録された。
コマンド例:
csvファイルをUTF8でエンコードして登録したい。 nullは ''で書かれてて、カラム1とカラム2が ''だったらNULLで登録する
\copy 対象テーブル from ファイル名 with (format csv, null '', force_null(カラム名1,カラム名2) ,encoding 'UTF-8')
以下ページを参考にさせてもらいました。
参照元:https://qiita.com/taka_22/items/a8e36d72abc2e454405f