一.用户角色管理
1.创建用户角色
create user cjr LOGIN;create role cjr1 CREATEDB;create role cjr2 superuser;
create user cjr3 encrypted password '123456' valid until '2022-10-28';
create user admin with SUPERUSER password '123';
注:
属性LOGIN、SUPERUSER和CREATEROLE被视为特殊权限,它们不会像其它数据库对象的普通权限那样被继承。加了WITH ADMIN OPTION 则允许被授予的用户继续将权限授予给其他人。
user\role区别:user拥有login登陆数据库权限的role。
2.修改用户
postgres=# alter user admin with password '1234';
通过 \help alter user 查看帮助文档
3.删除用户
drop user username ;
drop role rolename;
DROP ROLE IF EXISTS role_name;
注意事项:
1、只用超级用户能够删除超级用户。
2、只有具有createrole权限的用户能删除非超级用户。
3、删除用户前,需要先删除依赖该用户的对象、权限等信息。
4、任何属于该组角色的对象都必须先被删除或者将对象的所有者赋予其它角色,任何赋予该组角色的权限也都必须被撤消。
5、删除组role只会删除组的role本身,组的成员并不会被删除。
二.权限管理
每个数据库对象都有一个所有者,默认情况下,所有者拥有该对象的所有权限。
在数据库中所有的权限都和角色挂钩,PostgreSQL权