私はCSVファイルをタブ区切りにして、ではなく、を引用符で囲んでいます。フィールドデータには、一重引用符、二重引用符、パイプ、バックスラッシュなどの文字を入れることができます。Postgres COPYコマンドの引用処理をCSV形式でオフにすることはできますか?
サンプル・データは次のようになります。
1 2 "ba$aR\eR\ 18
私はCOPY文を使用してのPostgresにこのデータをインポートしたいです。
私は
COPY <tablename> FROM <filename> NULL AS '';
を使用して、これをインポートしようとするとPostgresが代わりにフィールドセパレータが続くバックスラッシュの「エスケープタブ」としてバックスラッシュ+タブを処理しているので、私はエラーpsql:-:1: ERROR: missing data for column
を取得します。
だから私はそうのように、COPY演算子の「CSV形式」を使用してに切り替え:それは開始時に二重引用符を解釈しているため
COPY <tablename> FROM <filename> WITH CSV DELIMITER E'\t' NULL AS '';
は今、新しいエラーpsql:-:1: ERROR: value too long for type character varying(254)
はどうやらありますフィールドラッピング文字としてフィールド3の。
私のデータがではないことをどのように指定することができますか?は全く引用されていますか?
はなぜ答えとしてあなたの回避策を投稿しませんか? –
チップをありがとう、やった! –
[CSVファイルをPostgreSQLにインポートする際に、引用符を無視しますか?](http://stackoverflow.com/questions/7376322/ignore-quotions-marks-when-importing-a-csv-file-into-postgresql) –