【问题标题】:Revoke PRIVILEGES on schema and tables撤销架构和表的 PRIVILEGES
【发布时间】:2020-04-29 09:24:32
【问题描述】:

我想撤销以下命令的所有权限我该怎么做?使用postgresql

GRANT ALL PRIVILEGES ON SCHEMA  "school" to integration;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA school TO user_1;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA school TO user_1;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA school TO user_1;

另外如何授予特定表的权限?出现关系“schemautution.mobile”不存在的错误

GRANT ALL PRIVILEGES ON schemautution.mobile TO school;

然后撤销对特定表的许可?以下错误表明 关系“schemautution.mobile”不存在

REVOKE ALL PRIVILEGES ON schemautution.mobile TO school;

也想申请,但抛出错误,它关系“schemautution.mobile”不存在如何解决这个问题?

ALTER SEQUENCE schemautution.mobile SET SCHEMA school;

如何撤销/删除对关联架构命令的所有权限?

【问题讨论】:

  • 你使用的是 MySQL 还是 Postgresql?
  • 检查大写的模式/表名,如果是,请使用双引号

标签: sql postgresql postgis


【解决方案1】:

在 PostgreSQL 中,将 GRANT 替换为 REVOKE,将 TO 替换为 FROM:

REVOKE ALL PRIVILEGES ON SCHEMA  "school" FROM integration;
REVOKE

REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA school FROM user_1;
REVOKE

REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA school FROM user_1;
REVOKE

REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA school FROM user_1;
REVOKE

【讨论】:

  • 如何撤销特定表的 PRIVILEGES?
  • 你也可以这样做:使用 REVOKE 语句而不是 GRANT。
  • 您不能撤销对非现有对象的权限。
  • 如何撤销对特定表的访问权限?
  • 方法总是一样的:对于与该表相关的每个 GRANT 语句,您都需要运行相应的 REVOKE 语句。 AFAIK 对于给定的表没有单一的 REVOKE 命令。
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 2016-02-07
  • 2013-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多