PHP实战中知识总结 / PgSQL - createuser(bin目录文件)

一、createuser

createuser创建一个新的PostgreSQL用户(或者更准确些,是一个角色)。只有超级用户和具有CREATEROLE特权的用户才能创建新用户,因此createuser必须被以上两种用户调用。如果你希望创建一个新的超级用户,你必须作为一个超级用户连接,而不仅仅是具有CREATEROLE特权。作为一个超级用户意味着绕过数据库中所有访问权限检查的能力,因此超级用户地位不能轻易被授予。createuser是对SQL命令 CREATE ROLE的封装。

二、命令格式

createuser [OPTION]... [ROLENAME]

option:

参数说明
-c, --connection-limit=N为该新用户设置一个最大连接数。默认值为不设任何限制
-d, --createdb新用户将被允许创建数据库
-D, --no-createdb新用户将不被允许创建数据库。这是默认值。
-e, --echo显示createuser生成并发送给服务器的命令
-g, --role=ROLE指定一个角色,这个角色将立即加入其中成为其成员。 如果要把这个角色加入到多个角色中作为成员, 可以写多个-g开关。
-i, --inherit新角色将自动继承把它作为成员的角色的特权。这是默认值。
-I, --no-inherit新角色将不会自动继承把它作为成员的角色的特权。
-l, --login新用户将被允许登入,这是默认值
-L, --no-login新用户将不被允许登入
-P, --pwprompt提示输入密码
-r, --createrole新用户将被允许创建新的角色(即,这个用户将具有CREATEROLE特权)
-R, --no-createrole新用户将不被允许创建新角色。这是默认值
-s, --superuser新用户将成为一个超级用户
-S, --no-superuser新用户将不会成为一个超级用户。这是默认值。
-V, --version打印createuser版本并退出。
--interactive如果在命令行没有指定用户名,提示要求用户名,并且在命令行没有指定选项-d/-D、-r/-R、-s/-S时也提示
--replication新用户将具有REPLICATION特权
--no-replication新用户将不具有REPLICATION特权
-?, --help显示有关createuser命令行参数的帮助并退出

Connection options:

参数说明
-h, --host=HOSTNAME指定运行服务器的机器的主机名
-p, --port=PORT指定端口
-U, --username=USERNAME指定用户
-w, --no-password不提示输入密码
-W, --password强制密码提示

PHP实战中知识总结