PostgreSQL:无法打开文件进行阅读。没有权限。 SQL状态:42501

时间:2018-05-10 13:14:40

标签: database postgresql csv

COPY dept 
FROM '/media/rayhan/CSE/PostgreSQL/csv_file/dept.csv' 
DELIMITER ',' CSV HEADER;

运行此查询会产生以下错误。我已将文件扩展名从.csv更改为.txt,但发生了同样的错误。帮我解决这个问题。我正在使用PostgreSQL version 9.5.12。提前谢谢。

  

错误:无法打开文件   " /media/rayhan/CSE/PostgreSQL/csv_file/dept.txt"阅读:   许可被拒绝

**********错误**********

  

错误:无法打开文件   " /media/rayhan/CSE/PostgreSQL/csv_file/dept.csv"阅读:   权限被拒绝SQL状态:42501

2 个答案:

答案 0 :(得分:1)

看起来,PostgreSQL进程没有访问“csv”的权限,找到启动PostgreSQL服务的用户名,然后在Linux级别向PG服务用户“使用chmod”授予读取权限。 / p>

如果仍然面临问题,请更改权限,如下所示:

chmod a+rX /media
chmod a+rX /media/rayhan
chmod a+rX /media/rayhan/CSE
chmod a+rX /media/rayhan/CSE/PostgreSQL
chmod a+rX /media/rayhan/CSE/PostgreSQL/csv_file
chmod a+rX /media/rayhan/CSE/PostgreSQL/csv_file/dept.csv

现在再次尝试使用COPY。

答案 1 :(得分:0)

当我从客户端连接到远程Postgres服务器时,我遇到了同样的问题。我将 copy 更改为 \ copy ,并且有效。

您的情况应该是

\ COPY部门 来自'/media/rayhan/CSE/PostgreSQL/csv_file/dept.csv' DELIMITER','CSV HEADER;