📜  PostgreSQL – 撤销

📅  最后修改于: 2022-05-13 01:57:14.760000             🧑  作者: Mango

PostgreSQL – 撤销

PostgreSQL 中, REVOKE语句用于通过角色撤销先前授予的对数据库对象的权限。

下面显示了 REVOKE 语句的语法:

Syntax: 
REVOKE privilege | ALL
ON TABLE tbl_name |  ALL TABLES IN SCHEMA schema_name
FROM role_name;

我们来分析一下上面的语法:

  • 首先,指定要撤销的权限。使用 ALL 选项撤销所有先前授予的权限。
  • 然后,在 ON 关键字后设置表名。
  • 最后,指定要撤销其权限的角色的名称。

例子:

首先,登录dvdrental 示例数据库为 Postgres:



psql -U postgres -d dvdrental

现在使用 LOGINPASSWORD属性初始化一个名为“abhishek”的角色,如下所示:

CREATE ROLE abhishek
LOGIN 
PASSWORD 'geeks12345';

现在获得电影的所有特权 角色“abhishek”的表格如下所示:

GRANT ALL 
ON film
TO abhishek;

现在演员表上的 SELECT权限提供给角色“abhishek”,如下所示:

GRANT SELECT
ON actor
TO abhishek;

这里我们将撤销角色'abhishek'actor表的SELECT权限,如下图:

REVOKE SELECT
ON actor
FROM abhishek;

如果您希望从角色 'abhishek'撤消对 film 表的所有权限,请使用带有 ALL 选项的 REVOKE语句,如下所示:

REVOKE ALL
ON film
FROM abhishek;

输出: