创建角色
角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者兼顾两者。
注意事项
在数据库中添加一个新角色,角色无登录权限。
创建角色的用户必须具备CREATE ROLE的权限或者是系统管理员。
语法格式
CREATE ROLE name [ [ WITH ] option [ ... ] ]
其中角色信息设置子句option语法为:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
示例
创建一个角色,名为manager,密码为test@123
CREATE ROLE test WITH PASSWORD 'abc@123';
创建一个角色,从2020年11月1日开始生效,到2022年1月1日失效
CREATE ROLE manager WITH LOGIN PASSWORD 'abc@123' VALID UNTIL '2022-01-01';
修改角色manager的密码为abcd@123
ALTER ROLE test WITH PASSWORD 'abcd@123';
修改manager的角色权限,让manager能够创建其他角色和新的数据库
ALTER ROLE manager CREATEROLE CREATEDB;
删除角色manager
DROP ROLE manager;