2

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

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

PGS 返回 Permission denied 的错误信息:

错误:ERREUR:n'a pas pu ouvrir le fichier « C:\Users\NOMUSER\Desktop\MONDOSSIER\Fichier.csv » 倒空演讲:权限被拒绝

提示:复制到 indique au serverur PostgreSQL de lire un fichier。Vous pourriez vouloir utiliser la fonctionnalité \copy de psql pour lire en local。

SQL 状态:42501

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

4

5 回答 5

1

使用\copy而不仅仅是“复制”。

COLS=STATE,COUNTY,LINK_ID
psql -d tosm -c "\COPY alias ($COLS) FROM 'alias.txt' (FORMAT CSV, HEADER, DELIMITER('|'))";
于 2019-08-13T22:02:37.803 回答
0

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

于 2018-04-28T11:59:33.523 回答
0

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

事实上,即使作为管理员它也不起作用:/

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

于 2018-04-26T10:38:26.383 回答
0

在 PostgresSQL 10 上遇到了同样的问题,既不能复制到 csv 也不能从 csv 复制。

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

编辑:也可以使用 pgAdmin 的对象浏览器导入/导出数据,方法是右键单击数据库公共架构中的表并单击导入/导出...

于 2020-10-08T10:58:05.923 回答
-1

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

于 2018-05-31T10:00:15.043 回答