关系的权限被拒绝

     2023-02-24     41

关键词:

【中文标题】关系的权限被拒绝【英文标题】:Permission denied for relation 【发布时间】:2013-03-09 08:37:29 【问题描述】:

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

select * from site_adzone;

我收到了这个错误

错误:关系 site_adzone 的权限被拒绝

这可能是什么问题?

我也尝试为其他表做选择并遇到同样的问题。我也尝试过这样做:

GRANT ALL PRIVILEGES ON DATABASE jerry to tom;

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

警告:没有为“jerry”授予权限

有谁知道哪里出了问题?

【问题讨论】:

我不知道如何更新权限以便可以在 DB 中读/写 您需要授予必要的权限:postgresql.org/docs/current/static/ddl-priv.html 和 postgresql.org/docs/current/static/sql-grant.html 欢迎来到 SO!对于这个问题,您可能会在 dba.stackexchange.com 上获得更多帮助,尽管您可能会发现同样多的 snide cmets :) 对不起。这是我今晚看到的第二个与编程相关的 postgresql 问题!最后一个有 67,000 次浏览,这一次有 30,000 次浏览。我们应该有一个受欢迎的条款:任何具有> 15,000视图的非主观问题=关于主题。 这个问题不是题外话!但是,它是 ***.com/questions/13497352/… 的重复 【参考方案1】:

数据库上的 GRANT 不是您所需要的。直接授予表。

授予数据库权限主要用于授予或撤销连接权限。如果他们有足够的其他权限,这允许您指定谁可以在数据库中执行操作。

你想要:

 GRANT ALL PRIVILEGES ON TABLE side_adzone TO jerry;

这将解决这个问题。

【讨论】:

以超级用户身份运行它,例如 postgres。 这可以是某种快捷方式吗?授予所有表上的所有权限? @Shadur GRANT SCHEMA public to jerry 中所有表的所有特权; @RonE 是否仅限于当前数据库? @zmiftah 获取您需要的架构 > 将架构名称架构上的所有权限授予用户;【参考方案2】:

发布 Ron E 答案以获得对所有表的授予权限,因为它可能对其他人有用。

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO jerry;

【讨论】:

您可能还需要对ALL SEQUENCESALL FUNCTIONS 执行类似的命令。 仅供那些想知道的人:ALL TABLES 也包括视图,因此没有单独的ALL VIEWS 命令:-) 愚蠢的问题,但为什么 GRANT ALL PRIVILEGES ON SCHEMA public TO jerry; 不提供对架构内表的选择访问权限?【参考方案3】:

先连接到正确的数据库,然后运行:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO jerry;

【讨论】:

连接到正确的数据库会产生巨大的影响 :) \connect databasename; 这个。我一直连接到“postgres”。谢谢! 是的,连接到数据库有所不同【参考方案4】:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public to jerry;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public to jerry;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public to jerry;

【讨论】:

【参考方案5】:

第一和重要步骤是连接到您的数据库:

psql -d yourDBName

2步,授予权限

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO userName;

【讨论】:

【参考方案6】:

要授予架构中所有现有表的权限,请使用:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA <schema> TO <role>

要指定将应用于未来表的默认权限,请使用:

ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> 
  GRANT <privileges> ON TABLES TO <role>;

例如

ALTER DEFAULT PRIVILEGES IN SCHEMA public 
  GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO admin;

如果您使用SERIALBIGSERIAL 列,那么您可能希望对SEQUENCES 执行相同的操作,否则您的INSERT 将失败(Postgres 10's IDENTITY 不会遇到该问题,并且是推荐超过SERIAL 类型),即

ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> GRANT ALL ON SEQUENCES TO <role>;

有关更多详细信息和可重复使用的脚本,另请参阅我对 PostgreSQL Permissions for Web App 的回答。

参考:

GRANT

ALTER DEFAULT PRIVILEGES

【讨论】:

【参考方案7】:

当您以用户 postgres 创建表,然后尝试以普通用户身份访问它时,经常会发生这种情况。 在这种情况下,最好以 postgres 用户身份登录并使用以下命令更改表的所有权:

alter table <TABLE> owner to <USER>;

【讨论】:

非常好!知道这一点很痛苦,但这就是我最终所做的。 :D(捂脸)【参考方案8】:

确保您以表的所有者身份登录 psql。 要找出谁拥有这些表,请使用 \dt

psql -h CONNECTION_STRING DBNAME -U OWNER_OF_THE_TABLES

然后你可以运行 GRANTS

【讨论】:

【参考方案9】:

你应该:

    通过 DBeaver 使用 postgres 用户连接到数据库 在左侧选项卡上打开您的数据库 打开角色选项卡/下拉菜单 选择您的用户 在右侧选项卡上按“权限选项卡” 按您的架构选项卡 按表格选项卡/下拉菜单 选择所有表 选中所有必需的权限复选框(或按全部授予) 按保存

【讨论】:

【参考方案10】:

当您正在寻找选择权限时,我建议您仅授予选择权限而不是所有权限。你可以这样做:

GRANT SELECT ON <table> TO <role>;

【讨论】:

【参考方案11】:

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

解决方法是简单地将旧用户的所有权限授予新用户:

postgres-# Grant &lt;old user&gt; to &lt;new user&gt;;

【讨论】:

PostgreSQL 9.6 数据库上的关系权限被拒绝

】PostgreSQL9.6数据库上的关系权限被拒绝【英文标题】:PermissiondeniedforrelationonPostgreSQL9.6database【发布时间】:2018-07-0211:15:32【问题描述】:在我创建的数据库中创建新对象(特别是视图)时遇到问题。尽管在SO上报告了许多类似... 查看详情

创建 PostgreSQL 只读用户错误:关系 _foo 的权限被拒绝

】创建PostgreSQL只读用户错误:关系_foo的权限被拒绝【英文标题】:CreatePostgreSQLreadonlyuserERROR:permissiondeniedforrelation_foo【发布时间】:2014-10-2807:29:11【问题描述】:尝试在PostgreSQL中创建只读用户时遇到问题。我希望用户ckan_default... 查看详情

Django 错误:关系 django_admin_log 的权限被拒绝

】Django错误:关系django_admin_log的权限被拒绝【英文标题】:DjangoError:permissiondeniedforrelationdjango_admin_log【发布时间】:2014-11-1014:55:09【问题描述】:我正在尝试访问我的Django项目的管理界面。我可以访问初始的“登录”屏幕,但... 查看详情

PG::InsufficientPrivilege at / 错误:关系 schema_migrations 的权限被拒绝

】PG::InsufficientPrivilegeat/错误:关系schema_migrations的权限被拒绝【英文标题】:PG::InsufficientPrivilegeat/ERROR:permissiondeniedforrelationschema_migrations【发布时间】:2015-11-1412:50:57【问题描述】:以下是我的database.ymldevelopment:adapter:postgresq 查看详情

psycopg2.errors.InsufficientPrivilege:关系 django_migrations 的权限被拒绝

】psycopg2.errors.InsufficientPrivilege:关系django_migrations的权限被拒绝【英文标题】:psycopg2.errors.InsufficientPrivilege:permissiondeniedforrelationdjango_migrations【发布时间】:2020-10-0919:58:20【问题描述】:我的DB的settings.py是什么样子的:ALLOWED_HO... 查看详情

解决“django.db.utils.ProgrammingError: 关系 django_migrations 的权限被拒绝”的步骤

】解决“django.db.utils.ProgrammingError:关系django_migrations的权限被拒绝”的步骤【英文标题】:StepstoTroubleshoot"django.db.utils.ProgrammingError:permissiondeniedforrelationdjango_migrations"【发布时间】:2016-12-2100:53:38【问题描述】:有哪些基... 查看详情

颤振完成错误:ProcessException:权限被拒绝

...idSDK上以调试模式启动lib/main.dart。初始化梯度。解决依赖关系。完成后出现如下错误:Pro 查看详情

apache配置中的权限被拒绝:[Errno 13]权限被拒绝

】apache配置中的权限被拒绝:[Errno13]权限被拒绝【英文标题】:permissiondeniedinapacheconfiguration:[Errno13]Permissiondenied【发布时间】:2018-06-1121:12:03【问题描述】:我正在尝试使用wsgi在apache2.4(ubuntu16)上托管烧瓶,但我在浏览器中遇到5... 查看详情

WinSCP:权限被拒绝。错误代码:3来自服务器的错误消息:权限被拒绝[关闭]

】WinSCP:权限被拒绝。错误代码:3来自服务器的错误消息:权限被拒绝[关闭]【英文标题】:WinSCP:Permissiondenied.Errorcode:3Errormessagefromserver:Permissiondenied[closed]【发布时间】:2014-10-1918:27:13【问题描述】:我正在使用WinSCP,每次尝... 查看详情

使用 Heroku 拒绝关系 django_migrations 的权限

】使用Heroku拒绝关系django_migrations的权限【英文标题】:Permissiondeniedforrelationdjango_migrationsusingHeroku【发布时间】:2018-03-2214:20:35【问题描述】:尝试在Heroku上使用django迁移数据库更改时,我得到:psycopg2.ProgrammingError:permissiondenied... 查看详情

一个 docker 容器的权限被拒绝

】一个docker容器的权限被拒绝【英文标题】:Permissiondeniedononedockercontainer【发布时间】:2022-01-1203:39:17【问题描述】:我是docker新手,我正在使用Loki和Grafana构建一个简单的仪表板应用程序。我正在尝试更改Grafana容器中的Grafana... 查看详情

Dockerfile 中的权限被拒绝

】Dockerfile中的权限被拒绝【英文标题】:permissiondeniedinDockerfile【发布时间】:2020-10-1801:32:36【问题描述】:尝试构建我的dockerfile,但出现权限被拒绝错误。该项目是一个nest.js服务器。这是dockerfile:FROMnode:12.13-alpineWORKDIR/usr/src/... 查看详情

权限被拒绝:'Msgbox'

】权限被拒绝:\\\'Msgbox\\\'【英文标题】:Permissiondenied:\'Msgbox\'权限被拒绝:\'Msgbox\'【发布时间】:2016-01-0805:20:45【问题描述】:我正在使用VBA创建带有是/否响应的消息框。特别是,消息框工作正常,但我在此之后放置的任何... 查看详情

终端中的权限被拒绝

】终端中的权限被拒绝【英文标题】:Permissiondeniedinterminal【发布时间】:2015-07-2414:43:23【问题描述】:我目前正在学习命令行提示,当我尝试将文件复制到新目录时,我遇到了权限被拒绝的问题。例如:$cpexample.txt/temp返回线路... 查看详情

访问被拒绝:获取云端硬盘凭据时权限被拒绝

】访问被拒绝:获取云端硬盘凭据时权限被拒绝【英文标题】:AccessDenied:PermissiondeniedwhilegettingDrivecredentials【发布时间】:2021-03-1211:08:42【问题描述】:从今天开始,我们的Airflow服务无法访问BigQuery中的查询。所有作业都失败并... 查看详情

通知权限总是被拒绝

】通知权限总是被拒绝【英文标题】:Notificationpermissiongivesdeniedalways【发布时间】:2017-11-2304:37:02【问题描述】:我正在使用Notification.permission来检查浏览器是否允许通知。我的检查通知权限的代码如下。//Let\'scheckifthebrowsersuppor... 查看详情

尽管使用 PHP 获得了适当的权限,但权限被拒绝

】尽管使用PHP获得了适当的权限,但权限被拒绝【英文标题】:PermissiondenieddespiteappropriatepermissionsusingPHP【发布时间】:2011-10-1922:55:46【问题描述】:我正在尝试用PHP读取一个文件,但我收到了一个权限被拒绝的错误,尽管每个... 查看详情

在 vba 中获取 iframe 的 Contentwindow - 访问被拒绝/权限被拒绝

】在vba中获取iframe的Contentwindow-访问被拒绝/权限被拒绝【英文标题】:GetContentwindowofiframeinvba-AccessDenied/PermissionDenied【发布时间】:2014-06-2000:17:28【问题描述】:我遇到了使用vba访问iframe的内容窗口的问题。使用iframe.domain=document... 查看详情