复制自来自权限被拒绝(pgAdmin4,postgresql10)

时间:2018-04-23 15:08:08

标签: permission-denied postgresql-10

我在10台笔记本电脑上使用pgAdmin4和postgresql 10。 当我使用COPY FROM导入CSV文件时

COPY BD.CP FROM 'C:\Users\NOMUSER\Desktop\MONDOSSIER\Fichier.csv' with delimiter ';';

PGS返回权限被拒绝的错误消息:

  

错误:ERREUR:n'a pas pu ouvrir le fichier«C:\ Users \ NOMUSER \ Desktop \ MONDOSSIER \ Fichier.csv»pour une lecture:Permission denied

     

提示:COPY TO indique au serveur PostgreSQL de lire un fichier。 Vous pourriez vouloir utiliserlafonctionnalité\ copy de psql pour lire en local。

SQL状态:42501

请问有什么问题?我看一个解决方案,但我找不到!非常感谢:)``

5 个答案:

答案 0 :(得分:0)

我有完全相同的问题。我读了一些解释,说COPY无法访问您的文件(我不知道为什么会这样做)。

实际上即使是管理员也不行:/

您应该尝试使用\copy而不是COPY来运行命令。我还没有成功,因为我找不到如何运行pgsql函数。

答案 1 :(得分:0)

好的,所以你(和我)需要更改目标文件夹的用户授权,以便从中复制或复制到。 在安装Postgresql时,Windows不会创建名为postgresql但使用网络服务的新服务。 因此,在文件夹的属性中,您需要将“网络服务”授权为用户,并对文件夹进行“完全控制”。 我已经做到了,现在还可以!

答案 2 :(得分:0)

检查用户是否拥有表格 SELECT / INSERT / DELETE 的权限, COPY 取决于它。 https://www.postgresql.org/docs/current/static/sql-grant.html

答案 3 :(得分:0)

使用 \ copy ,而不只是“ copy”。

COLS=STATE,COUNTY,LINK_ID
psql -d tosm -c "\COPY alias ($COLS) FROM 'alias.txt' (FORMAT CSV, HEADER, DELIMITER('|'))";

答案 4 :(得分:0)

在PostgresSQL 10上存在相同的问题,无法复制到csv或从csv复制。

从我收集的信息来看,服务器无权访问该文件夹,最简单的解决方案是将其放置在可以访问的位置,例如“ C:\ Users \ Public ..”。

编辑: 右键单击数据库公共模式中的表,然后单击导入/导出...,也可以使用pgAdmin的对象浏览器导入/导出数据。