createuser

createuser

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

概要

createuser [connection-option ...] [role_attribute ...] [-e] role_name

createuser -? | --help 

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
$ createuser joe

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

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

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

createuser -h masterhost -p 54321 -S -D -R -e joe
CREATE ROLE joe NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT
LOGIN;
CREATE ROLE

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

createuser -P -s -e joe
Enter password for new role: admin123
Enter it again: admin123
CREATE ROLE joe PASSWORD 'admin123' SUPERUSER CREATEDB 
CREATEROLE INHERIT LOGIN;
CREATE ROLE

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