psql-无法执行命令-权限被拒绝错误

时间:2020-05-06 12:06:20

标签: postgresql psql

尝试使用psql运行SQL脚本时,出现权限被拒绝错误。

遵循的步骤-

  1. 打开普通的Bash交互式shell
  2. 按如下所示运行命令
sudo -u postgres -s /bin/bash
  1. 尝试运行以下pgsql-我提供了对pega文件夹的读写访问权限;将pgsql文件移动到postgres库中还需要做些什么。
/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

1 个答案:

答案 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