已赋予C盘完全控制权限仍无法执行SQL脚本,报错Permission denied求助
权限拒绝错误的排查方向
执行以下SQL脚本时出现权限拒绝:
platform=> \i C:\path\Database\3_apply_db_changes.sql C:: Permission denied platform=>
已给C盘设置Everyone完全控制权限仍无法解决,可能遗漏的配置如下:
路径格式错误:Windows下psql的
\i命令对反斜杠解析有问题,需改用正斜杠/或转义反斜杠\\,比如:\i C:/path/Database/3_apply_db_changes.sql -- 或者 \i C:\\path\\Database\\3_apply_db_changes.sqlPostgreSQL服务账户权限不足:PostgreSQL服务默认使用专用系统账户(如
NT SERVICE\PostgreSQL)运行,需给该账户添加目标文件/文件夹的读取和执行权限,而非仅依赖Everyone权限。UAC权限限制:普通用户运行psql时,UAC可能限制系统盘目录访问,尝试右键以管理员身份启动psql客户端后再执行脚本。
目标文件权限未同步:仅设置文件夹权限不够,需单独检查
3_apply_db_changes.sql文件的权限,确保对应账户有读取权限。路径含特殊字符/空格:若路径存在空格或特殊字符,需用引号包裹路径,比如:
\i "C:/path with spaces/Database/3_apply_db_changes.sql"
内容的提问来源于stack exchange,提问作者Haris Tirić
相关产品推荐
相关产品推荐

