postgres C::权限被拒绝

问题描述 投票:0回答:3

我使用的是 Windows 10 和 cmd psql。我正在学习有关 PostgreSQL 的教程,其中我尝试将 ai 生成的 .sql 文件导入到之前创建的名为 test 的数据库中。我使用

\i  c:\Users\Admin\Downloads\person.sql
命令。但我不断收到 C:: Permission returned 错误。

我尝试了一些方法来解决这个问题。首先,我在文件的Security设置中更改了permissions并给予Everyone - 完全控制,但这没有帮助。然后有人建议以特定方式简单地格式化路径字符串,我这样做了(见下文),但也没有运气。

\i c:\Users\Admin\Downloads\person.sql
我有:
c:: Permission denied

\i c:/Users/Admin/Downloads/person.sql
我有:
c:/Users/Admin/Downloads/person.sql: No such file or directory

\i 'C:/Users/Admin/Downloads/person.sql'
我有:
C:/Users/Admin/Downloads/person.sql: No such file or directory

\i 'c:\\Users\\Admin\\Downloads\\person.sql'
我有:
c:/Users/Admin/Downloads/person.sql: No such file or directory

\i C:\\Users\\Admin\\Downloads\\person.sql
我有:
C:: Permission denied

我将其移至 D 盘,更改了权限,但仍然收到相同的

D:: Permission denied
消息。我以管理员身份运行cmd,没有帮助。我不知道下一步该做什么?我完全迷路了。有谁知道如何解决这个问题吗?

postgresql permission-denied
3个回答
3
投票

您刚刚在 Windows 上遇到了

psql
的特点。

我只是想排除您确实没有必要的许可的可能性。然后事实证明,即使在 Windows 上,你也必须使用“正常”斜杠而不是反斜杠,即:

\i 'C:/Users/Admin/Downloads/person.sql'
无论您从哪个文件夹开始
psql
,都应该可以正常工作。请注意,我使用了单引号 - 您会得到双引号

"C:/Users/Admin/Downloads/person.sql": Invalid argument


0
投票

好吧,你们在我卸载了 postgreSQL 并再次安装了单引号中带有正斜杠的命令后

\i 'C:/Users/Admin/Downloads/person.sql'
工作了!所以,如果你有类似的问题,请尝试删除 postgresql,然后重新安装。


0
投票

在路径中使用正斜杠 (/):

在 Windows 上的 psql shell 中,您可以在文件路径中使用正斜杠 (/) 而不是反斜杠 ()。例如:

\i C:/path/to/your/file.sql
© www.soinside.com 2019 - 2024. All rights reserved.