author:skate
time:2012/11/16
gp基础篇-用户与资源队列管理
gp像oracle一样,有自己的独立的用户管理模块,但gp不像oracle那样,把用户和用户组分的那么细;gp中的用户,即是用户,又是用户组gp中的用户是与操作系统的用户是独立的,但是为了管理方便,我们可以把gp和os中用户创建成相同的用户名;在是初始安装时,在os上创建gpadmin用户,用其来安装、初始化gp数据库。
如果通过用户来控制gp的访问?
一般每个应用或服务,出于审计和安全,创建单独的用户,为用户分配合适权限
创建用户一般如下:
gptest=# create role username with login createdb createrole password 'password' resource queue pg_default;
CREATE ROLE
创建用户选项说明:
SUPERUSER/NOSUPERUSER
指定了用户是否是超级管理员,默认是NOSUPERUSER。 如果是超级管理员则没有访问限制。一般应用用户不要赋予这项权限。
CREATEDB/NOCREATEDB
指定了用户是否可以创建数据库。默认是NOCREATEDB
CREATEROLE/NOCREATEROLE
指定了用户是否可以创建新的用户,默认是NOCREATEROLE
INHERIT/NOINHERIT
在GP中,没有独立的角色概念,用户既是角色,也是用户。
LOGIN/NOLOGIN
设定用户是否有登录系统的权限。默认是NOLOGIN。一般用来管理权限的角色(即用户组)分配NOLOGIN权限。
CONNECTION LIMIT connlimit
限制并发连接的数量,默认值是-1,表示没有限制。在GP中有其它更合适的方式限制并发连接的数量,因此建议不要修改该设置。
PASSWORD 'password'
设置用户的口令
VALID UNTIL 'timestamp'
指定口令的生命周期。默认是永远不过期。
RESOURCE QUEUE queue_name
为用户建立资源队列后,控制用户连接