关系表的访问权限被拒绝

446

我尝试运行简单的 SQL 命令:

select * from site_adzone;

并且我收到了这个错误:

ERROR: permission denied for relation site_adzone

这可能是什么问题?

我还尝试查询其他表,但是遇到了同样的问题。我也尝试了这个:

GRANT ALL PRIVILEGES ON DATABASE jerry to tom;

但是我从控制台得到了这个响应

警告:未授予"jerry"任何权限。

有人知道可能出了什么问题吗?


我不确定如何更新权限以便在数据库中进行读写。 - Bob
1
您需要授予必要的权限:http://www.postgresql.org/docs/current/static/ddl-priv.html 和 http://www.postgresql.org/docs/current/static/sql-grant.html - user330315
3
欢迎来到SO!对于这个问题,您可能会在dba.stackexchange.com上获得更多帮助,尽管您可能会发现同样有很多讽刺的评论 :) - Jared Beck
28
对不起。今晚我看到两个与编程有关的postgresql问题都被关闭了!上一个问题有67,000次浏览,这一个有30,000次浏览。我们应该设立一个流行度条款:任何非主观性问题,且浏览量大于15,000次 = 不属于离题范畴。 - Theodore R. Smith
1
这个问题并不是离题的!但它是一个重复的问题,链接为https://dev59.com/LWYr5IYBdhLWcg3wqr7o。 - wheaties
12个回答

2

由于您正在寻找选择权限,我建议您授予仅限选择而不是所有特权。您可以通过以下方式实现:

GRANT SELECT ON <table> TO <role>;

1

在我将一个用户切换到另一个需要拥有相同权限的用户后,我遇到了这个问题:错误提示为:“必须是关系xx的所有者”。

解决方法很简单,只需将旧用户的所有权限授权给新用户即可:

postgres-# 将 <old user> 授权给 <new user>;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接