42501:在Postgresql中查询时不充分的特权错误

AKI*_*WEB 8 sql database postgresql-9.2

我试图在postgresql中查询数据库表,但每次运行以下查询时它都会给我INSUFFICIENT PRIVILEGE错误.可能是这种许可被拒绝错误的原因.另外,我在windows中使用pgadmin工具来连接Linux环境中的数据库.以下是我正在运行的查询

> > SELECT appid,hash 
>       FROM app
>       WHERE appid=1;
Run Code Online (Sandbox Code Playgroud)

在运行相同的查询时,我得到以下错误

ERROR:  permission denied for relation app

********** Error **********

ERROR: permission denied for relation app
SQL state: 42501
Run Code Online (Sandbox Code Playgroud)

sea*_*alz 11

运行查询的用户需要该表的权限.您可以使用GRANT语句将它们授予该用户.以下是授予PUBLIC的示例

GRANT SELECT ON tablename TO PUBLIC;
Run Code Online (Sandbox Code Playgroud)

此外,我已经看到SELinux导致isses和地方,如在这里提到它.我不确定关闭SELinux的命令,但你可以通过使用来查看它是否正在运行

selinuxenabled && echo enabled || echo disabled
Run Code Online (Sandbox Code Playgroud)


Him*_*dey 5

这仅仅意味着您没有访问应用程序表的权限。请求您的 root 或数据库管理员授予您访问应用程序表的权限。如果您是 root 或具有授予权限,您可以使用 grant 命令授予您自己在表或数据库上使用所有 sql 语句的权限,
例如:

               grant all privileges on database money to cashier;
Run Code Online (Sandbox Code Playgroud)


在此之前,您必须以 root 或具有授予权限的用户身份登录,
有关此命令的更多详细信息请参阅 http://www.postgresql.org/docs/8.1/static/sql-grant.html