createuser

创建一个新的数据库角色。

概要

  1. createuser [connection-option ...] [role_attribute ...] [-e] role_name
  2. createuser -? | --help
  3. createuser -V | --version

描述

createuser创建一个新的Greenplum数据库角色。 您必须是超级用户或具有CREATEROLE权限才能创建新角色。 您必须以超级用户身份连接到数据库才能创建新的超级用户。

超级用户可以绕过数据库中的所有访问权限检查,因此不应轻易授予超级用户特权。

createuser是SQL命令CREATE ROLE的包装。

选项

role_name

要创建的角色的名称。 此名称必须不同于该Greenplum数据库安装中的所有现有角色。

-c number | —connection-limit=number

设置新角色的最大连接数。默认设置为无限制。

-d | —createdb

新角色将被允许创建数据库。

-D | —no-createdb

不允许新角色创建数据库。这是默认值。

-e | —echo

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

-E | —encrypted

加密存储在数据库中的角色密码。 如果未指定,则使用默认密码行为。

-i | —inherit

新角色将自动继承其成员角色的特权。这是默认值。

-I | —no-inherit

新角色将不会自动继承其成员角色的特权。

--interactive

如果在命令行上未指定用户名,则提示输入用户名, 并提示在命令行中未指定选项-d/-D, -r/-R,-s/-S中的任何一个。

-l | —login

新角色将被允许登录Greenplum数据库。这是默认值。

-L | —no-login

新角色将不允许登录(组级别角色)。

-N | —unencrypted

不加密存储在数据库中的角色密码。如果未指定,则使用默认密码行为。

-P | —pwprompt

如果提供,则createuser将提示输入新角色的密码。 如果您不打算使用密码身份验证,则没有必要。

-r | —createrole

新角色将被允许创建新角色(CREATEROLE特权)。

-R | —no-createrole

新角色将不允许创建新角色。这是默认值。

-s | —superuser

新角色将是超级用户。

-S | —no-superuser

新角色将不是超级用户。这是默认值。

-V | —version

打印createuser版本并退出。

--replication

新用户将具有REPLICATION特权,有关CREATE ROLE的文档中对此进行了更详细的描述。

--no-replication

新用户将没有REPLICATION特权,有关CREATE ROLE的文档中对此进行了更详细的描述。

-? | —help

显示有关createuser命令行参数的帮助,然后退出。

连接选项

-h host | —host=host

运行Greenplum master数据库服务器的计算机的主机名。 如果未指定,则从环境变量PGHOST读取或默认为localhost。

-p port | —port=port

Greenplum master数据库服务器正在侦听连接的TCP端口。 如果未指定,则从环境变量PGPORT读取或默认为5432。

-U username | —username=username

要用作连接的数据库角色名称。 如果未指定,则从环境变量PGUSER读取或默认为当前系统角色名称。

-w | —no-password

不发出密码提示。 如果服务器要求密码验证,而其他方式(例如.pgpass文件)无法使用密码,则连接尝试将失败。 此选项在没有用户输入密码的批处理作业和脚本中很有用。

-W | —password

强制输入密码提示。

示例

要在默认数据库服务器上创建角色joe:

  1. $ createuser joe

要在默认数据库服务器上创建角色joe并提示一些其他属性:

  1. $ createuser --interactive joe
  2. Shall the new role be a superuser? (y/n) n
  3. Shall the new role be allowed to create databases? (y/n) n
  4. Shall the new role be allowed to create more new roles? (y/n) n
  5. CREATE ROLE

要使用连接选项来创建相同的角色joe,并显式指定属性,然后查看基本命令:

  1. createuser -h masterhost -p 54321 -S -D -R -e joe
  2. CREATE ROLE joe NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT
  3. LOGIN;
  4. CREATE ROLE

要将角色joe创建为超级用户,并立即分配密码admin123:

  1. createuser -P -s -e joe
  2. Enter password for new role: admin123
  3. Enter it again: admin123
  4. CREATE ROLE joe PASSWORD 'admin123' SUPERUSER CREATEDB
  5. CREATEROLE INHERIT LOGIN;
  6. CREATE ROLE

在上面的示例中,键入时实际上并未回显新密码,但是为了清楚起见,我们显示了键入的内容。 但是,密码将显示在echoed命令中,如使用-e选项所示。

另见

CREATE ROLE , dropuser