从csv复制到postgres

从csv复制到postgres

问题描述:

我在使用postgresql中的copy from命令导入csv文件中的数据时遇到了问题。我首先使用下面的代码在postgresql中创建了一个表。从csv复制到postgres

create table sfmap (
    Address varchar(100), 
    City varchar(50), 
    State varchar(5), 
    Zip varchar(6), 
    County varchar(20)   
) 

然后,我使用下面的代码复制表中的数据。

COPY sfmap(Address, City, State, County) 
FROM 'H:\sfmap.csv' 
WITH DELIMITER ',' 
CSV HEADER 

每当我这样做,我收到以下错误信息。

ERROR: could not open file "H:\sfmap.csv" for reading: No such file or directory SQL state: 58P01

我相信文件的位置是正确的。我曾尝试使用正斜杠,两个反斜杠。我没有看到我做错了什么。

+0

您是否知道文件位置需要位于运行Postgres的**服务器**上? – 2014-10-09 20:25:19

+0

sfmap和数据库都在本地托管,所以我不认为我需要使用/复制。 – 2014-10-09 20:38:17

COPY命令必须由Postgres超级用户运行。可能值得检查。

这是一个权限问题。首先,检查“其他”组是否可以访问该文件(假设您在Linux下工作),然后检查它所在的文件夹是否也是“读取”的。