createuser
是一个用于创建数据库角色的核心实用程序,本质上是 CREATE ROLE
命令的包装器。
createuser
添加于 PostgreSQL 7.0。
用法
与大多数核心实用程序不同,createuser
不会通过 -d
/--dbname
选项接受 conninfo 字符串;-d 选项实际上是 -d
/--createdb
(“角色可以创建新的数据库”),并且没有 --dbname
长选项,因此连接参数必须使用 -h
/--host
、-p
/--port
等单独提供。
请注意,与 CREATE ROLE
不同(但与 CREATE USER
相同),使用 createuser
创建的任何角色默认都会获得登录权限。
createuser
在成功创建用户时不会输出任何内容。
源代码
createuser
的源代码位于 src/bin/scripts/createuser.c。
更改历史记录
- PostgreSQL 16
- PostgreSQL 13
- 已弃用的选项
--adduser
和--no-adduser
已删除(提交 4fa5edcd)
- 已弃用的选项
- PostgreSQL 10
- 选项
--unencrypted
已删除(提交 eb61136d)
- 选项
- PostgreSQL 9.4
- 添加了选项
-g
/--role
(提交 6bea96dd)
- 添加了选项
- PostgreSQL 9.2
- PostgreSQL 8.4
- 添加了
-w
/--no-password
选项(提交 9de59fd1)
- 添加了
- PostgreSQL 8.3
- 已删除
--quiet
选项(提交 9539e64b)
- 已删除
- PostgreSQL 8.1
- PostgreSQL 7.4
- 从 shell 脚本转换为 C 程序(提交 9e0ab712)
- PostgreSQL 7.3
- 添加了对包含空格的标识符的支持(提交 5804a7ce)
- PostgreSQL 7.2
- 添加了
--encrypted
和--unencrypted
选项(提交 4699d81d)
- 添加了
- PostgreSQL 7.0
- 添加(提交 240e4c98)
示例
postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- admin | Cannot login | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} postgres=# \q postgres$ createuser -h localhost --role=admin newuser postgres$ psql psql (14.3) Type "help" for help. postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- admin | Cannot login | {} newuser | | {admin} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
参考文献
- PostgreSQL 文档: createuser