九月 24, 2023
摘要:在本教程中,您将了解 PostgreSQL 的REVOKE
语句,用于删除角色权限。
目录
PostgreSQL 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
:
psql -U postgres -d dvdrental
其次,创建一个新角色,名为jim
,指定LOGIN
和PASSWORD
属性:
CREATE ROLE jim
LOGIN
PASSWORD 'securePass1';
第三步,将film
表上的所有权限授予角色jim
:
GRANT ALL
ON film
TO jim;
最后,将actor
表的SELECT
权限授予角色jim
:
GRANT SELECT
ON actor
TO jim;
步骤 2. 撤销角色的权限
要撤销角色jim
对actor
表的SELECT
权限,请使用以下语句:
REVOKE SELECT
ON actor
FROM jim;
要撤销角色jim
对film
表的所有权限,可以使用带有ALL
选项的REVOKE
语句,如下:
REVOKE ALL
ON film
FROM jim;
撤销其他数据库对象的权限
要撤销其他数据库对象(例如序列、函数、存储过程、模式、数据库)的权限,请查看 REVOKE 语句。
概括
- 使用 PostgreSQL 的
REVOKE
语句撤销先前授予角色的数据库对象权限。