尝试使用psql运行SQL脚本时,出现权限被拒绝错误。
遵循的步骤-
sudo -u postgres -s /bin/bash
/Library/PostgreSQL/12/bin/psql -U dbusername dbpassword </Users/rr/Documents/pega/pega8db.pgsql
遇到以下错误
bash: /Users/rr/Documents/pega/pega8db.pgsql: Permission denied
Ps -ef的结果
502 129 1 0 8:07 AM ?? 0:00.09 / Library / PostgreSQL / 12 / bin / postmaster -D / Library / PostgreSQL / 12 / data
502281129129 0 8:07 AM ?? 0:00.00 postgres:记录器
502283283129 0 8:07 AM ?? 0:00.01 postgres:检查点
502284129129 8:07 AM ?? 0:00.04 postgres:背景作家
502285129129 8:07 AM ?? 0:00.02 postgres:walwriter
502286286129 0 8:07 AM ?? 0:00.04 postgres:自动真空启动器
502287287129 0 8:07 AM ?? 0:00.18 postgres:统计信息收集器
502288129129 8:07 AM ?? 0:00.00 postgres:逻辑复制启动器
501942 1 0 8:29 AM ?? 0:11.47 / Library / PostgreSQL / 12 / pgAdmin 4.app/Contents/MacOS/pgAdmin4
502947947129 0 8:29 AM ?? 0:00.02 postgres:postgres postgres :: 1(49607)空闲
502949949 0 8:29 AM? 0:00.04 postgres:postgres pega :: 1(49623)空闲
501 957 826 0 8:30 AM ttys000 0:00.00 grep -i postgres
答案 0 :(得分:0)
首先:检查文件本身的权限:
ls -al /Users/rr/Documents/pega/pega8db.pgsql
那么您可以通过执行以下操作来添加读取和执行权限:
sudo chmod a+rx /Users/rr/Documents/pega/pega8db.pgsql
(这将使所有人都可以阅读,因此,如果是多用户系统,则可能需要稍后还原烫发)。
您是否可以使用psql
工具连接到数据库并获得psql提示,或者是否也失败?
我假设您的.pgsql
文件本质上是sql脚本,对(某种导出)吗?
尝试这样运行:
psql -d database_name -a -f /Users/rr/Documents/pega/pega8db.pgsql