我使用的是Windows 10和cmd psql。我正在学习PostgreSQL的教程,在那里我试图将ai生成的**.sql文件导入到以前创建的名为test的数据库中。我使用\i c:\Users\Admin\Downloads\person.sql
命令。但是我一直收到C::权限被拒绝错误。
我尝试了几件事来解决这个问题。首先,我在文件的安全设置中更改了权限**,并给予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
消息。我是管理员,没帮上忙。我不知道下一步该怎么办?我完全迷路了。有人知道如何解决这个问题吗?
2条答案
按热度按时间yc0p9oo01#
您刚刚在Windows上遇到了
psql
的特性。我只是想排除你没有得到必要许可的可能性。然后事实证明,即使在Windows上,您也必须使用“正常”斜杠而不是反斜杠,即:
无论从哪个文件夹启动
psql
,\i 'C:/Users/Admin/Downloads/person.sql'
都应该正常工作。请注意,我使用了单引号-双引号"C:/Users/Admin/Downloads/person.sql": Invalid argument
rxztt3cl2#
好了,你们在我卸载了PostgreSQL之后,再次安装了单引号中带正斜杠的命令
\i 'C:/Users/Admin/Downloads/person.sql'
工作了!!!所以,如果你有类似的问题,尝试删除postgresql,然后重新安装。