PostgreSQL的用户管理
用户和角色的区别:用户有权限、角色没有权限
一、组角色管理 ----》使用组角色的概念管理数据库访问权限;
1、创建组角色
一个组角色可以看做是一组数据用户。组角色可以拥有数据库对象(比如表),以及可以把这些对象上的权限赋予其他角色,以控制拥有访问哪些对象的权限。
1.1使用pgAdmin创建组角色
1.2、使用sql语句进行创建组角色
1.3查看和修改组角色
①、pgAdmin查看组角色
②、使用sql语句进行查看
角色都是存储在pg_roles系统表中的 :
③、修改组角色名称
ALTER ROLE 组角色名称 RENAME TO 新的组角色名称;
1.4删除组角色
①、pgAdmin右键自行删除
②、sql语句删除
DROP ROLE 组角色的名称;
2、角色的各种权限
①、LOGIN(登录)
创建的组角色没有权限。只有具有LOGIN权限的组角色才可以用作数据库连接的初始角色名。一旦组角色拥有了登录权限,即可当作用户一样来使用。
create role 组角色名称 login;
②、superuser (超级用户)
superuser拥有对数据库操作的最高权限,可以完成对数据库的所有权限检查。为了保证PostgreSQL 的安全,建议谨慎使用。
create role 组角色名称 superuser;
③、CREATEDB (创建数据库)
角色想要创建数据库,必须明确的给出权限。除了超级用户之外。
create role 组角色名称 createdb;
④、createrole (创建角色)
角色想要创建角色,必须明确给出该权限。一旦角色拥有该权限,即可更改和删除其他角色,还可以给其他角色赋予或撤销成员关系。
create role 组角色名称 createrole;
⑤、口令
在客户认证方法要求与数据库连接时,需要口令权限。常见的口令权限有password、MD5、crypt。
create role 组角色名称 口令认证方法 具体口令;
3、账户管理
3.1创建用户
用户拥有登录权限的组角色。
①、使用pgAdmin创建
②、使用sql语句进行创建
create user 名称;
3.2删除
3.3修改用户密码
sql语句修改
4、组角色和用户权限管理
4.1对组角色授权
①、sql语句
alter role 角色名 权限1 权限2 ···