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 | 强制密码提示 |
