簡體   English   中英

postgres:將csv文件導入表

[英]postgres: import csv file into table

我想將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"

我該如何解決這個問題

您需要通過指定應填充的列來告訴副本no列不是CSV文件的一部分:

COPY test.targetDB(year, name, city, ts_load) from 'test.csv' delimiter ',' csv 

我建議使用datagrip-postgresql客戶端工具。 如果您不想購買,可以使用評估版。 從UI導入文件非常簡單,而無需使用命令行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM