簡単な CSV を Postgres 8.4 データベースにインポートしようとしています。
ここに表があります:
CREATE TABLE public.sample (
a VARCHAR,
b VARCHAR
) WITHOUT OIDS;
CSV ファイルのサンプルは次のとおりです。
"foo","bar, baz"
クエリ:
COPY sample FROM '/tmp/sample.csv' USING DELIMITERS ',';
例外をスローします:
ERROR: extra data after last expected column
CONTEXT: COPY sample, line 1: ""foo","bar, baz""
しかし、まあ、CSV の解析はロケット科学ではなく、ソースの CSV ファイルを再フォーマットしないと解決できないのではないかと思います。
入力はサードパーティからのもので、形式を変更できません。
(インポートする前に区切り文字を変更する前処理ができることを理解しています。)
最終的な解決策:
COPY sample FROM '/tmp/sample.csv' WITH DELIMITER ',' CSV;
もともとhttps://stackoverflow.com/a/9682174/251311から取得したもので、ドキュメント ページはhttp://www.postgresql.org/docs/8.4/static/sql-copy.htmlです。