授予用户权限与角色

  • 授予角色

授予角色的语法是:

grant_role ::=

其中,rolename 为角色名字,username为用户名字。被赋予角色的用户将具有角色权限。

下面的例子将给用户赋予新角色:

GRANT ROLE app_role1 TO USER app_user1;
  • 授予权限

授予权限的语法是:

grant_privilege ::=

只有超级用户、数据库对象所有者、或者在该对象上具有授权权限的用户才能执行GRANT语句。若用户创建了某个对象,则用户作为该对象的创建者自动拥有对象的所有权限。而其它用户则没有任何访问该对象的权限。非创建者若需要访问对象或者执行某些操作,就需要由创建者进行授权。

数据库对象权限明细表如下:

对象 权限
INSERT SELECT UPDATE DELETE RULE REFERENCES TRIGGER
视图 INSERT SELECT UPDATE DELETE
SELECT UPDATE REFERENCES
模式 CREATE USAGE
逻辑数据库 CREATE TEMP TEMPORARY
函数 EXECUTE
语言 USAGE

下例将表上的SELECT权限授予给用户HU,FLATER和角色R1。

GRANT SELECT ON PROJ TO HU,FLATER,ROLE R1;