VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

createuser

功能描述

createuser工具用于创建一个新的用户。

createuser是对SQL命令CREATE USER的封装。

注意事项

  • 只有超级用户和具有CREATE ROLE权限的用户可以创建新的用户。 因此createuser必须由超级用户或者是具有 CREATE ROLE权限的用户执行。
  • 如果用户想创建一个新的超级用户,必须以超级用户身份连接, 而不仅仅是一个有CREATE ROLE权限的用户。成为超级用户就意味着将在数据库里绕开所有访问权限检查,因此,请勿轻易授予超级用户权限。

语法格式

createuser [OPTION]... [ROLENAME]

ROLENAME:指定要创建的用户名称。

参数说明

通用参数

  • -c, --connection-limit=N

    为新用户设置最大数目的连接限制,默认为无限制。

  • -d, --createdb

    允许该新用户创建数据库。

  • -D, --no-createdb

    禁止该新用户创建数据库,此选项为默认值。

  • -e, –echo

    回显createuser生成并发送到服务端的命令。

  • -E, --encrypted

    加密存储在数据库中的用户的密码。

  • -i, --inherit

    指定该选项则该新角色将自动继承其所属角色组的权限,此选项为默认值。

  • -I, --no-inherit

    该新角色将不会自动继承其所属角色组的权限。

  • -l, --login

    指定该选项则创建的新用户具有登录权限,此选项为默认值。

  • -L, --no-login

    指定该选项则创建的新用户没有登录权限。

  • -N, --unencrypted

    不加密存储在数据库中的用户的密码。

  • -P, --pwprompt

    如果指定此选项,createuser将提示输入新用户的密码。

  • -r, --createrole

    该新用户将允许创建新角色,即该用户将拥有CREATEROLE权限。

  • -R, --no-createrole

    该新用户将不能创建新角色。

  • -s, --superuser

    该新用户将是一个超级用户。

  • -S, --no-superuser

    该新用户将不是一个超级用户,这是缺省设置。

  • -V, --version

    输出createuser命令的版本信息,然后退出。

  • --interactive

    若没有在命令行上指定用户名,提示缺少用户名。并且 -d/-D-r/-R-s/-S选项任何属性没有在命令行指定,也会提示缺少属性。

  • --replication

    指定该选项新用户将拥有REPLICATION权限,即角色能启动复制。

  • --no-replication

    指定该选项新用户将拥没有REPLICATION权限,即角色不能启动复制。

  • --auditadmin

    该新用户将具有审计管理属性。

  • --no-auditadmin

    该新用户没有审计管理属性,该选项为缺省设置。

  • -?, --help

    显示createuser命令的帮助信息,然后退出。

连接参数

  • -h, --host=HOSTNAME

    指定运行服务器的主机名,如果数值以斜杠开头则被用作到Unix域套接字的路径。

  • -p, --port=PORT

    指定主机端口号。

  • -U, --username=USERNAME

    指定所连接主机的用户名。

  • -w, --no-password

    不出现输入密码提示。如果主机要求密码认证并且密码没有通过其它形式给出,则连接尝试将会失败。

  • -W, --password

    指定用户连接的密码。

使用示例

示例1: 使用如下命令创建一个超级用户joe,并立即指定一个密码。

createuser -P -s -e -E joe -E

回显如下,输入为joe用户指定密码:

Enter new system admin password:
Enter it again:
CREATE ROLE joe PASSWORD 'Huawei@123' SYSADMIN CREATEDB CREATEROLE INHERIT LOGIN;

示例2: 使用如下命令创建用户joe1,并显示额外属性提示。

createuser  -P -e --interactive joe1

回显如下,输入为joe用户指定密码并选择属性:

Enter new system admin password:
Enter it again:
Shall the new role be a system admin? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
CREATE ROLE joe1 PASSWORD 'Huawei@123' NOSYSADMIN CREATEDB CREATEROLE INHERIT LOGIN;