说明:
在PostgreSQL中, 用户和角色是一样的概念,区别: 用户默认可以登录, 而角色需要单独赋予登录权限才能登录.
1.组角色管理
1.1.创建组角色
create role role_name1;
1.2.查看组角色
select rolname from pg_roles;
1.3.修改组角色
alter role role_name1 rename to role_name2;
1.4.删除组角色
delete role role_name1;
2.角色权限
2.1.登录权限
create role role_name1 login;
2.2.创建超级用户的权限
create role role_name1 superuser;
2.3.创建数据库权限
create role role_name1 createdb;
2.4.创建角色权限
create role role_name1 createrole;
2.5.使用密码登录
create role role_name1 password '123456';
3.账户管理
3.1.创建用户
create user user_name1;
--等价于
create role user_name1 login;
给予用户设置用户密码, 创建数据库和角色权限
create user user_name1 password '123456' createdb createrole;
--等价于
create role user_name1 login password '123456' createdb createrole;
3.2.删除用户
drop user user_name1;
3.3.修改用户密码
alter user user_name1 password '654321';
4.组角色和用户的权限管理
4.1.对组角色授权
alter role role_name1 [createdb] [createrole];
4.2.删除权限
alter role role_name1 [nocreatedb] [nocreaterole];
4.3.对用户授权
alter user user_name1 [createdb] [createrole];
4.4.删除用户授权
alter user user_name1 [nocreatedb] [nocreaterole];
5.数据库权限管理
5.1.修改数据库的拥有者
alter database db_name1 owner to user_name1;
5.2.增加用户的数据表权限
grant insert,delete,update,select,all on table_name1 to user_name1;