【问题标题】:PostgreSQL: Could not open file for reading. Permission denied. SQL state: 42501PostgreSQL:无法打开文件进行读取。没有权限。 SQL 状态:42501
【发布时间】:2018-10-20 18:40:03
【问题描述】:
COPY dept 
FROM '/media/rayhan/CSE/PostgreSQL/csv_file/dept.csv' 
DELIMITER ',' CSV HEADER;

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

错误:无法打开文件 “/media/rayhan/CSE/PostgreSQL/csv_file/dept.txt”供阅读: 权限被拒绝

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

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

【问题讨论】:

    标签: database postgresql csv


    【解决方案1】:

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

    在你的情况下是

    \复制部门 来自'/media/rayhan/CSE/PostgreSQL/csv_file/dept.csv' DELIMITER ',' CSV 标题;

    【讨论】:

      【解决方案2】:

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

      如果仍然遇到问题,请按以下方式更改权限:

      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。

      【讨论】:

      • 运行这些命令显示“chmod:更改'/media'的权限:不允许操作”
      • 使用sudo chmod问题得到解决。非常感谢@Vivek。 :D
      • 如果您发现我的解决方案有用,您可以投票并将其标记为答案
      猜你喜欢
      • 2017-10-31
      • 2015-08-17
      • 1970-01-01
      • 2022-09-22
      • 2015-12-03
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多