SQL COMMAND · 角色与权限
CREATE USER
定义一个新的数据库角色
CREATE角色与权限引入 10(基线)现存至 20 devel2 次语法变更
- 动词
CREATE- 对象
USER- 分组
- 角色与权限
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 2
- 手册小节数
- 3
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
option
语法概要
CREATE USERname[ [ WITH ]option[ ... ] ] 其中option可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMITconnlimit| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLErole_name[, ...] | IN GROUProle_name[, ...] | ROLErole_name[, ...] | ADMINrole_name[, ...] | USERrole_name[, ...] | SYSIDuid
描述
CREATE USER现为 CREATE ROLE的别名。 唯一的区别在于:当命令写为CREATE USER时, 默认假定为LOGIN;而当命令写为 CREATE ROLE时,默认假定为NOLOGIN。
兼容性
CREATE USER语句是 PostgreSQL的一种扩展。 SQL 标准将用户的定义留给具体实现决定。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 19← 18语法变化
− | IN GROUP role_name [, ...]− | USER role_name [, ...]PostgreSQL 11← 10语法变化
+ 其中 option 可以是:+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL− 其中option可以是:− | [ ENCRYPTED ] PASSWORD 'password'
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
GRANT | GRANT | — | 204 次 | |
| 定义访问权限 | 现存 | |||
REVOKE | REVOKE | — | 204 次 | |
| 撤销访问权限 | 现存 | |||
ALTER DEFAULT PRIVILEGES | ALTER | DEFAULT PRIVILEGES | 143 次 | |
| 定义默认访问权限 | 现存 | |||
CREATE GROUP | CREATE | GROUP | 192 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER GROUP | ALTER | GROUP | 141 次 | |
| 更改角色名称或成员资格 | 现存 | |||
DROP GROUP | DROP | GROUP | — | |
| 移除一个数据库角色 | 现存 | |||
SECURITY LABEL | SECURITY | LABEL | 122 次 | |
| 定义或更改应用于对象的安全标签 | 现存 | |||
DROP OWNED | DROP | OWNED | 141 次 | |
| 移除一个数据库角色所拥有的数据库对象 | 现存 | |||
REASSIGN OWNED | REASSIGN | OWNED | 141 次 | |
| 更改一个数据库角色所拥有的数据库对象的所有权 | 现存 | |||
CREATE POLICY | CREATE | POLICY | 141 次 | |
| 为一个表定义一条新的行级安全性策略 | 现存 | |||
ALTER POLICY | ALTER | POLICY | 141 次 | |
| 更改一条行级安全性策略的定义 | 现存 | |||
DROP POLICY | DROP | POLICY | — | |
| 从一个表中移除一条行级安全性策略 | 现存 | |||
CREATE ROLE | CREATE | ROLE | 142 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER ROLE | ALTER | ROLE | 142 次 | |
| 更改数据库角色 | 现存 | |||
DROP ROLE | DROP | ROLE | — | |
| 移除一个数据库角色 | 现存 | |||
SET ROLE | SET | ROLE | — | |
| 设置当前会话的当前用户标识符 | 现存 | |||
SET SESSION AUTHORIZATION | SET | SESSION AUTHORIZATION | — | |
| 设置当前会话的会话用户标识符和当前用户标识符 | 现存 | |||
CREATE USER | CREATE | USER | 192 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER USER | ALTER | USER | 142 次 | |
| 更改数据库角色 | 现存 | |||
DROP USER | DROP | USER | — | |
| 移除一个数据库角色 | 现存 | |||