使用\ COPY将带有JSON字段的CSV加载到Postgres

lem*_*ter 4 csv postgresql json psql postgresql-9.4

我正在尝试使用\ COPY命令将TSV数据从文件加载到Postgres表中。

这是一个示例数据行:

2017-11-22 23:00:00     "{\"id\":123,\"class\":101,\"level\":3}"
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的psql命令:

\COPY bogus.test_table (timestamp, sample_json) FROM '/local/file.txt' DELIMITER E'\t'
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

ERROR:  invalid input syntax for type json
DETAIL:  Token "sample_json" is invalid.
CONTEXT:  JSON data, line 1: "{"sample_json...
COPY test_table, line 1, column sample_json: ""{\"id\":123,\"class\":101,\"level\":3}""
Run Code Online (Sandbox Code Playgroud)

我验证了JSON的格式正确,并阅读了几个类似的问题,但是我仍然不确定这里发生了什么。一个解释会很棒

Abe*_*sto 6

要按原样加载数据文件:

\COPY bogus.test_table (timestamp, sample_json) FROM '/local/file.txt' CSV DELIMITER E'\t' QUOTE '"' ESCAPE '\'
Run Code Online (Sandbox Code Playgroud)