从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
我相信文件的位置是正确的。我曾尝试使用正斜杠,两个反斜杠。我没有看到我做错了什么。
答
COPY命令必须由Postgres超级用户运行。可能值得检查。
答
这是一个权限问题。首先,检查“其他”组是否可以访问该文件(假设您在Linux下工作),然后检查它所在的文件夹是否也是“读取”的。
您是否知道文件位置需要位于运行Postgres的**服务器**上? – 2014-10-09 20:25:19
sfmap和数据库都在本地托管,所以我不认为我需要使用/复制。 – 2014-10-09 20:38:17