createuser

    createuser创建一个新的Greenplum数据库的角色。用户必须是一个超级用户或者有CREATEROLE特权才能创建新角色。用户必须作为超级用户连接到数据库以创建新的超级用户。

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

    createuser是SQL命令CREATE ROLE的包装程序。

    role_name

    要被创建的角色名。这个名称必须与这个Greenplum数据库安装中所有现有角色不同。

    -c number | —connection-limit number

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

    -D | —no-createdb

    新角色将不被允许创建数据库。这是默认情况。

    -d | —createdb

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

    -e | —echo

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

    -E | —encrypted

    加密角色存储在数据库中的口令。如果没有指定,会使用默认的口令行为。

    -i | —inherit

    -I | —no-inherit

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

    -l | —login

    新角色将被允许登入到Greenplum数据库。这是默认情况。

    -L | —no-login

    新角色将不被允许登入(组级角色)。

    -N | —unencrypted

    不要加密角色存储在数据库中的口令。如果没有指定,会使用默认的口令行为。

    -P | —pwprompt

    如果给定,createuser将发出一个提示要求新角色的口令。如果用户不打算使用口令认证,这不是必要的。

    -r | —createrole

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

    -R | —no-createrole

    新角色将不被允许创建新角色。这是默认情况。

    -s | —superuser

    新角色将是超级用户。

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

    连接选项

    -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的角色:

    要使用连接选项创建同一个角色joe并且避免提示,还想看一看底层的命令:

    要把角色joe创建为超级用户,并且立刻赋予口令admin123:

    在上面的例子中,输入新口令时实际上不会回显,我们这里为了表述清晰而把口令显示出来。不如果使用-e选项,口令将会在回显的命令中显示出来。