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