Mac OS:PGAdmin 4错误:无法打开文件进行阅读:权限被拒绝。 SQL状态:42501

问题描述 投票:2回答:2

我刚开始尝试学习sql。我是编程中的一个完整的菜鸟(只是你知道)。 所以我的问题是我试图在pgAdmin4 1.5中的sql表中复制现有的csv文件。

所以我运行此查询来复制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

我已经更改了此文件的权限,以便所有用户都可以读写,但我仍然收到错误。

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

如果您需要更多信息来解决问题,我会尽力找到它!

macos postgresql file-permissions permission-denied pgadmin-4
2个回答
2
投票

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


0
投票

我通过在PostgreSQL bin中创建一个名为Database的文件夹来解决这个问题,在那里我保存了我想要处理的所有数据文件。我在Mac和Windows上使用pgAdmin4。虽然在Windows上找到bin是相当简单的,但在Mac上找到它有点棘手,因为隐藏bin的库是隐藏的。如果您使用的是Windows,请尝试将文件保存在C:\ProgramFiles\PostgreSQL\10\bin\Database上,如果您使用的是Mac,则尝试将文件保存在/Library/PostgreSQL/10/bin/Database/上。可以通过按command+shift+g找到库,并在转到文件夹中键入~/Library。您的Mac将需要您的密码才能在库中进行更改。在此处保存数据文件后,pgAdmin4上的代码应如下所示:

COPY console_games FROM 'C:\ProgramFiles\PostgreSQL\10\bin\Database\ConsoleGames.csv' DELIMITER ',' CSV HEADER;

要么

COPY console_games FROM '/Library/PostgreSQL/10/bin/Database/ConsoleGames.csv' DELIMITER ',' CSV HEADER;
© www.soinside.com 2019 - 2024. All rights reserved.