Celeritas Asked: 2012-12-05 03:48:31 +0800 CST2012-12-05 03:48:31 +0800 CST 2012-12-05 03:48:31 +0800 CST 尝试导入的文件中的权限被拒绝 772 当我尝试使用\i不在 psql.exe 文件夹中的文件时,它会显示C:: permission denied. 例如,我有一个带有 SQL 命令的文件,C:\Users\Work\Desktop\School Work\load_database.sql当我键入\i "C:\Users\Work\Desktop\School Work\load_database.sql"它时,它会显示C:: permission denied. 我怎样才能解决这个问题? 我在这里找到了一个解决方法,您可以将 .sql 文件复制到与 psql.exe 所在的文件夹相同的文件夹中。 顺便说一句,\i代表进口吗? postgresql windows 2 个回答 Voted Best Answer dezso 2012-12-05T05:27:59+08:002012-12-05T05:27:59+08:00 您刚刚psql在 Windows 上遇到了一个特殊情况。 在我的评论中,我只是想排除您确实没有获得必要许可的可能性。然后事实证明,即使在 Windows 上,您也必须使用“普通”斜杠而不是反斜杠,即: \i 'C:/Users/Work/Desktop/School Work/load_database.sql' 无论您psql从哪个文件夹开始,都应该可以正常工作。请注意,我使用了单引号 - 你得到了双引号 "C:/Users/Work/Desktop/School Work/load_database.sql": Invalid argument user68006 2017-03-02T09:37:27+08:002017-03-02T09:37:27+08:00 将文件放在对每个人都具有完全权限的某个目录中,例如 'c:\tmp' 或者 为要导入的文件设置读取权限。 我设置了“所有人”的阅读权限。 导入文件后,您可以撤销该权限。
您刚刚
psql
在 Windows 上遇到了一个特殊情况。在我的评论中,我只是想排除您确实没有获得必要许可的可能性。然后事实证明,即使在 Windows 上,您也必须使用“普通”斜杠而不是反斜杠,即:
无论您
psql
从哪个文件夹开始,都应该可以正常工作。请注意,我使用了单引号 - 你得到了双引号将文件放在对每个人都具有完全权限的某个目录中,例如 'c:\tmp'
或者
为要导入的文件设置读取权限。
我设置了“所有人”的阅读权限。
导入文件后,您可以撤销该权限。