我使用的是 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,没有帮助。我不知道下一步该做什么?我完全迷路了。有谁知道如何解决这个问题吗?
您刚刚在 Windows 上遇到了
psql
的特点。
我只是想排除您确实没有必要的许可的可能性。然后事实证明,即使在 Windows 上,你也必须使用“正常”斜杠而不是反斜杠,即:
无论您从哪个文件夹开始\i 'C:/Users/Admin/Downloads/person.sql'
,都应该可以正常工作。请注意,我使用了单引号 - 您会得到双引号psql
"C:/Users/Admin/Downloads/person.sql": Invalid argument
好吧,你们在我卸载了 postgreSQL 并再次安装了单引号中带有正斜杠的命令后
\i 'C:/Users/Admin/Downloads/person.sql'
工作了!所以,如果你有类似的问题,请尝试删除 postgresql,然后重新安装。
在路径中使用正斜杠 (/):
在 Windows 上的 psql shell 中,您可以在文件路径中使用正斜杠 (/) 而不是反斜杠 ()。例如:
\i C:/path/to/your/file.sql