授予用户权限与角色¶
- 授予角色
授予角色的语法是:
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;