我对博士后相当陌生。我正试图将文件从计算机复制到postgres服务器。我首先用

CREATE TABLE coredb (
id text, lng numeric(6,4), lat numeric(6,4),
score1 numeric(5,4), score2 numeric(5,4));

我的CSV看起来是这样的:
     ID       lng      lat    score1   score2
      1     -72.298  43.218   0.561     0.894
      2     -72.298  43.218   0.472     0.970
      3     -72.285  43.250   0.322     0.959
      4     -72.285  43.250   0.370     0.934
      5     -72.325  43.173   0.099     0.976
      6     -72.325  43.173   0.099     0.985

但是,当我试图复制CSV时,会出现以下错误
COPY coredb FROM '/home/usr/Documents/filefordb.csv' DELIMITER ',' CSV;
ERROR:  invalid input syntax for type numeric: "lng"
CONTEXT:  COPY nhcore, line 1, column lng: "lng"

奇怪的是,当我将CREATE TABLE参数设置为所有列的文本时,csv导入非常好。有人能解释一下为什么会这样吗?我正在使用psql 9.4.1

最佳答案

必须使用HEADER true告诉COPY跳过标题行。

关于postgresql - 将CSV上载到Postgres表时输入语法无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29831508/

10-16 21:43