更新时间:2024-08-20 GMT+08:00

CREATE GROUP

功能描述

创建一个新用户组。

注意事项

CREATE GROUP是CREATE ROLE的别名,非SQL标准语法,不推荐使用,建议用户直接使用CREATE ROLE替代。

语法格式

1
2
CREATE GROUP group_name [ [ WITH ] option [ ... ] ] 
    [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' [ EXPIRED ] | DISABLE };

其中可选项option子句语法为:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{SYSADMIN | NOSYSADMIN}
    | {MONADMIN | NOMONADMIN}
    | {OPRADMIN | NOOPRADMIN}
    | {POLADMIN | NOPOLADMIN}
    | {AUDITADMIN | NOAUDITADMIN}
    | {CREATEDB | NOCREATEDB}
    | {USEFT | NOUSEFT}
    | {CREATEROLE | NOCREATEROLE}
    | {INHERIT | NOINHERIT}
    | {LOGIN | NOLOGIN}
    | {REPLICATION | NOREPLICATION}
 
    | {PERSISTENCE | NOPERSISTENCE}
    | CONNECTION LIMIT connlimit
    | VALID BEGIN 'timestamp'
    | VALID UNTIL 'timestamp'
    | RESOURCE POOL 'respool'
    | USER GROUP 'groupuser'
    | PERM SPACE 'spacelimit'
    | TEMP SPACE 'tmpspacelimit'
    | SPILL SPACE 'spillspacelimit'
    | NODE GROUP logic_group_name
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid
    | DEFAULT TABLESPACE tablespace_name
    | PROFILE DEFAULT
    | PROFILE profile_name
    | PGUSER

参数说明

请参考CREATE ROLE的参数说明

示例

--创建用户组,与CREATE ROLE效果一样。
gaussdb=# CREATE GROUP test_group WITH PASSWORD "********";

--使用CREATE ROLE创建角色,默认不能登录数据库。
--可使用ALTER ROLE role_name WITH LOGIN语句让用户可以登录数据库。
gaussdb=# CREATE ROLE test_role WITH PASSWORD "********";

--使用CREATE USER创建用户,自动创建同名模式,有登录的权限。
gaussdb=# CREATE USER test_user WITH PASSWORD "********";

--查看用户信息。
gaussdb=# \du test*
             List of roles
 Role name  |  Attributes  | Member of 
------------+--------------+-----------
 test_group | Cannot login | {}
 test_role  | Cannot login | {}
 test_user  |              | {}

--查询CREATE USER命令自动创建的模式。
gaussdb=# \dn test*
    List of schemas
   Name    |   Owner   
-----------+-----------
 test_user | test_user
(1 row)

--删除。
gaussdb=# DROP ROLE test_role;
gaussdb=# DROP GROUP test_group;
gaussdb=# DROP USER test_user;