向角色授予权限
您可以使用 GRANT 语句为角色分配权限,就像您为用户分配权限一样。有关可以授予哪些权限的信息,请参阅数据库权限。
为角色授予权限会立即影响到活动的用户会话。为角色授予权限时,此权限便立即可供已启用该角色的所有用户使用。
以下示例将创建两个角色,并为这两个角色分配对同一个表的不同权限。
-
创建名为
applog
的表:=> CREATE TABLE applog (id int, sourceID VARCHAR(32), data TIMESTAMP, event VARCHAR(256));
-
创建名为
logreader
和logwriter
的角色:=> CREATE ROLE logreader; CREATE ROLE => CREATE ROLE logwriter; CREATE ROLE
-
将
applog
的只读权限授予logreader
,并将写入权限授予logwriter
:=> GRANT SELECT ON applog TO logreader; GRANT PRIVILEGE => GRANT INSERT ON applog TO logwriter; GRANT PRIVILEGE
撤销角色的权限
使用 REVOKE 语句撤销角色的权限。撤销角色的权限会立即影响到处于活动状态的用户会话。当您撤销某个角色的权限时,通过该角色拥有此权限的用户将无法再使用此权限。
例如:
=> REVOKE INSERT ON applog FROM logwriter;
REVOKE PRIVILEGE