Postgresにデータをインポートしようとしています。データフィールドはカンマで区切られています。文字列にはカンマが含まれている場合があります。その場合はエスケープされます。
データ構造:
create table v (a varchar);
データファイル:
bus
'Gat\,\\e\'way_MQB'
インポートコマンド(Linuxでbashから実行)
cat data.csv | psql -d database -c "copy v (a) from stdin with delimiter ',' escape '\\' CSV header"
エラー:
ERROR: extra data after last expected column
私はかなりの時間の間、この問題に対して戦い、グーグルしてきました、そして私が間違っていることを理解していませんか?
試してください:
cat data.csv | psql -d database -c "copy v (a) from stdin with delimiter ',' escape '\' quote '''' CSV header"
エスケープ文字を指定するときにエスケープする必要はありません。 QUOTEのデフォルトは二重引用符なので、渡す必要があります。