有没有办法在 PostgreSQL 中上传 212 列的 csv 文件

is there an way to upload 212 columns csv files in PostgreSQL

我有一个包含 122 列的 csv 文件,我正在 Postgres 中尝试这个。我正在尝试这个

create tble appl_train ();
\copy appl_train FROM '/path/ to /file' DELIMITER ',' CSV HEADER;

我收到这个错误

ERROR:  extra data after last expected column
CONTEXT:  COPY application_train, line 2: "0,100001,Cash loans,F,N,Y,0,135000.0,568800.0,20560.5,450000.0,Unaccompanied,Working,Higher educatio..."

错误消息表示您的 table 的列数少于 csv 文件的列数。

如果您的 table 的 DDL 与您报告的完全一致,则您创建了一个没有列的 table。您必须在创建 table 时枚举(至少)所有列名和列数据类型,如 documentation 所报告:

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [
  { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
    | table_constraint
    | LIKE parent_table [ like_option ... ] }
    [, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

在你的代码中你应该有这样的东西:

create table appl_train (
  first_column_name integer,
  second_column_name integer,
  third_column_name character varying (20),

// more fields here
)