Enterprise PostgresのCOPY FROMコマンド実行時の「ERROR: input value length is @1@; too long for type <データ型>(@2@)」エラーについて

Enterprise Postgres の技術情報はこちら

Enterprise PostgresのCOPY FROMコマンドで、CSV形式のファイルからテーブルへのデータのコピーを実行したところ、「ERROR: input value length is @1@; too long for type <データ型>(@2@)」というエラーになりました。原因と対処方法を教えてください。

[原因]
CSV形式のファイルで、NULL値として0x00を使用していることが原因の可能性があります。

[対処方法]
COPY FROMコマンドは、0x00ではなく、引用符のない空文字をNULL値として扱います。
CSV形式のファイルで、NULL値として0x00を使用している場合は、空文字に置き換えてください。
空文字とNULL値を区別したい場合は、COPY FROMコマンドのNULLパラメータで、NULL値を表す文字列(※)を指定することも可能ですので、0x00を、この指定した文字列に置き換えてください。
※0x00を指定することはできません。

詳細は以下のマニュアルを参照してください。

 FUJITSU Software Enterprise Postgres 12
  PostgreSQL 12.1 Documentation
   Part VI. Reference
    SQL Commands
     COPY

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 Enterprise Postgres
製品・サービス情報
プラットフォームWindows,Solaris,Linux
アンサー種別 設計/開発
このページの先頭へ