我想将csv文件导入数据库表。但是它不起作用。
我在linux env中运行bash shell。
CREATE TABLE test.targetDB (
no int4 NOT NULL GENERATED ALWAYS AS IDENTITY,
year varchar(15) NOT NULL,
name bpchar(12) NOT NULL,
city varchar(15) NOT NULL,
ts_load timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (seq_no)
)
test.csv
文件
"2019","112 ","1123",2019-07-26-05.33.43.000000
Linux Cmd
psql -d $database -c " COPY test.targetDB from 'test.csv' delimiter ',' csv "
错误
ERROR: invalid input syntax for integer: "2019"
CONTEXT: COPY targetDB, line 1, column no: "2019"
我该如何解决这个问题
答案 0 :(得分:1)
您需要通过指定应填充的列来告诉副本no
列不是CSV文件的一部分:
COPY test.targetDB(year, name, city, ts_load) from 'test.csv' delimiter ',' csv
答案 1 :(得分:-2)
我建议使用datagrip-一种postgresql客户端工具。如果您不想购买,可以使用评估版。从UI导入文件非常简单,而无需使用命令行。