PostgreSQL 撤销
在本教程中,您将了解 REVOKE 用于从角色中删除权限的 PostgreSQL语句。
摘要:在本教程中,您将了解 REVOKE 用于从角色中删除权限的 PostgreSQL语句。
PostgreSQL REVOKE 语句介绍
该 REVOKE 语句从角色撤销先前授予的对数据库对象的特权。
下面显示了 REVOKE 从角色撤销对一个或多个表的特权的语句的语法:
REVOKE privilege | ALL
ON TABLE table_name | ALL TABLES IN SCHEMA schema_name
FROM role_name;
在这个语法中:
- 首先,指定要撤销的一个或多个权限。您可以使用该
ALL选项撤销所有权限。 - 其次,在
ON关键字后指定表名。您可以使用ALL TABLES撤销模式中所有表的指定权限。 - 第三,指定要撤销其权限的角色的名称。
PostgreSQL REVOKE 语句示例
让我们举一个使用 REVOKE 语句的例子。
步骤 1. 创建角色并授予权限
首先,使用 postgres 用户登录 dvdrental PostgreSQL Sakila 示例数据库:
psql -U postgres -d dvdrental
其次,创建一个 jim 使用 LOGIN 和 PASSWORD 属性调用的新角色:
CREATE ROLE jim
LOGIN
PASSWORD 'securePass1';
第三,将 film 表上的所有权限授予角色 jim :
GRANT ALL
ON film
TO jim;
最后, SELECT 将 actor 表的权限授予角色 jim :
GRANT SELECT
ON actor
TO jim;
步骤 2. 撤销角色的权限
要从角色撤消 SELECT 对 actor 表的特权 jim ,请使用以下语句:
REVOKE SELECT
ON actor
FROM jim;
要撤销 film 角色对表的所有权限 jim ,您可以使用 REVOKE 带有如下 ALL 选项的语句:
REVOKE ALL
ON film
FROM jim;
撤销对其他数据库对象的权限
要撤销其他数据库对象(如序列、函数、存储过程、模式、数据库)的权限,请查看REVOKE 语句。
概括
- 使用 PostgreSQL
REVOKE语句从角色撤销先前授予的对数据库对象的权限。