角色
角色是一组权限的集合。
通过 GRANT 把角色授予用户后,用户即具有了角色的所有权限。
在角色级别授予或撤消权限时,这些更改将作用到角色下的所有成员。
要查看所有角色,请查询系统表 PG_ROLES
select rolname from pg_roles;

创建角色的语法格式
CREATE ROLE role_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ]
{ PASSWORD | IDENTIFIED BY } { 'password' [EXPIRED] | DISABLE };
–创建一个角色,名为manager,密码为 lvzz123456
create role manager identified by 'lvzz@123456';
–创建一个角色,从2021年12月06日开始生效,到2021年12月31日失效
create role lvzz with login password 'lvzz#654321' valid begin '2021-12-06' valid until '2021-12-31';


修改角色的语法格式
ALTER ROLE role_name [ [ WITH ] option [ ... ] ];
–修改角色manager的密码为abcd@456
alter role manager identified by 'abcd@456';
–修改角色manager为系统管理员
alter role manager with login SYSADMIN;

删除角色的语法格式
DROP ROLE [ IF EXISTS ] role_name [, ...];
–删除角色manager
drop role lvzz;
drop role manager;

课后作业
1、创建角色 role1 为系统管理员, role2 指定生效日期, role3 具有 LOGIN 属性
create role role1 with SYSADMIN identified by 'role1#123456';
create role role2 identified by 'role2#123456' valid begin '2021-12-06' valid until '2021-12-31';
create role role3 with login identified by 'role3#123456';

2、重命名 role1
alter role role1 rename to role11;

3、修改 role2 密码
alter role role2 identified by 'role2#654321' replace 'role2#123456';

4、将 omm 权限授权给 role3,再回收 role3 的权限
grant omm to role3 with admin option;
\du+ role*
revoke omm from role3;
\du+ role*


5、删除所有创建角色,过程中使用 \du 或 \du+ 查看角色信息
drop role role11;
drop role role2;
drop role role3;
\du+ role*

最后修改时间:2021-12-06 14:57:01
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




