Postgresql 如何使用COPY命令从csv文件导入jsonb列?

Postgresql 如何使用COPY命令从csv文件导入jsonb列?,postgresql,distributed-database,yugabyte-db,Postgresql,Distributed Database,Yugabyte Db,我正在尝试将以下csv文件导入YugaByte DB YSQL。请注意,每行中的第二个条目是一个JSON对象 "15-06-2018","{\"file_name\": \"myfile1\", \"remote_ip\": \"X.X.X.X\"}" "15-06-2018","{\"file_name\": \"myfile2\", \"remote_ip\": \"Y.Y.Y.Y\"}" 我的表架构是: postgres=# create table downloads_raw (req

我正在尝试将以下csv文件导入YugaByte DB YSQL。请注意,每行中的第二个条目是一个
JSON
对象

"15-06-2018","{\"file_name\": \"myfile1\", \"remote_ip\": \"X.X.X.X\"}"
"15-06-2018","{\"file_name\": \"myfile2\", \"remote_ip\": \"Y.Y.Y.Y\"}"
我的表架构是:

postgres=# create table downloads_raw (request_date text, payload jsonb);
我希望导入文件中的JSON片段成为
JSONB

我试着做了以下几点:

postgres=# COPY downloads_raw FROM 'data.csv';
遇到以下错误:

ERROR:  22P04: missing data for column "payload"
CONTEXT:  COPY downloads_raw, line 1: ""15-06-2018","{\"file_name\": \"myfile1\", \"remote_ip\": \"X.X.X.X\"}""
LOCATION:  NextCopyFrom, copy.c:3443
Time: 2.439 ms

您需要指定csv格式和转义“\”。此外,格式和转义选项需要用括号括起来。这应该起作用:

COPY使用(csv格式,转义“\”)从“data.csv”下载原始数据

可在此处找到复制命令支持的选项列表:

因为它说输入中没有两个值,所以它可能采用了不同的分隔符,请尝试告诉它是逗号分隔的?或csv格式为csv的一般
,尝试了csv格式的
,但语法无效:
#复制下载\u原始的“data.csv”格式为csv;错误:42601:语法错误位于或接近“FORMAT”
让我来看看如何指定分隔符。