2017-05-30 1300 views
1

我刚开始试图学习sql。我在编程方面是一个完整的noob(只是你知道)。
所以我的问题是,我试图复制pgAdmin4 1.5中的sql表中现有的csv文件。Mac OS:PGAdmin 4错误:无法打开读取文件:权限被拒绝。 SQL状态:42501

于是我运行此查询到的数据从CSV复制:

COPY console_games FROM '/users/user1/Desktop/ConsoleGames.csv' DELIMITER ',' CSV HEADER; 

我得到这样的结果:

********** Error ********** 

ERROR: could not open file "/Users/user1/Desktop/ConsoleGames.csv" for reading: Permission denied 
SQL state: 42501 

我已经改变了这个文件的权限为所有用户可读写,但我仍然得到错误。

请帮忙! (考虑到我是一个绝对的新手)

如果你需要更多的信息来解决这个问题,我会尽我所能找到它!

+1

1.尝试设置包含文件夹的读取权限2.您没有提及您的postgres服务器与文件位于同一主机上 – Eugene

+0

非常感谢Eugene! 1.解决我的问题 –

+0

我去到每一个包含文件夹获取信息,增加了在Sharings和权限选项卡posgres并把它只读的privilages。再次感谢!! –

回答

2

使用PgAdmin4的批量加载功能导入CSV。这将在幕后做一个COPY ... FROM STDIN。 PgAdmin4将以您的用户权限访问该文件,而不是像文件意愿中的直接COPY那样的postgres服务器。

+0

非常感谢Craig!在每个包含文件夹的Sharings和Permissions中添加postgres并赋予其只读权限解决了我的问题。尽管如此,pgAdmin中的批量加载功能看起来非常有用,请您详细介绍一下这个功能吧? –

+0

@KostasDaglis我不使用PgAdmin,所以我无法帮助更多。手册可能?我知道PgAdmin3具有导入/导出功能,但PgAdmin4是一个重写 - 我不确定它是否或在哪里。 –

相关问题