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选项所示。