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选项,口令将会在回显的命令中显示出来。