SQL COMMAND · 角色与权限
ALTER USER
更改数据库角色
change a database role
ALTER角色与权限引入 6.4(基线)现存至 20 devel17 次语法变更
- 动词
ALTER- 对象
USER- 分组
- 角色与权限
- 引入版本
- 6.4(基线)
- 状态
- 现存
- 语法变更次数
- 17
- 手册小节数
- 3
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
option
ALTER USER · 语法 2
ALTER USER · 语法 3
ALTER USER · 语法 4
ALTER USER · 语法 5
ALTER USER · 语法 6
role_specification
语法概要
ALTER USER role_specification [ WITH ] option [ ... ] 其中 option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' ALTER USER name RENAME TO new_name ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT } ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL 其中 role_specification 可以是: role_name | CURRENT_ROLE | CURRENT_USER | SESSION_USER
描述
ALTER USER 现为
ALTER ROLE 的别名。
兼容性
ALTER USER 语句是
PostgreSQL 的一种扩展。SQL 标准将用户的定义交由具体实现决定。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 14← 13语法变化
+ | CURRENT_ROLE+ | CURRENT_USERPostgreSQL 11← 10语法变化
+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULLPostgreSQL 10← 9.6语法变化
− | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'PostgreSQL 9.6← 9.5语法变化
− | CREATEUSER | NOCREATEUSERPostgreSQL 9.5← 9.4语法变化
+ ALTER USER role_specification [ WITH ] option [ ... ]+ | BYPASSRLS | NOBYPASSRLS+ | CONNECTION LIMIT connlimit+ ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }+ ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT+ ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter+ ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL+ role_name+ | CURRENT_USER+ | SESSION_USER− ALTER USER name [ [ WITH ] option [ ... ] ]− ALTER USER { name | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }− ALTER USER { name | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT− ALTER USER { name | ALL } [ IN DATABASE database_name ] RESET configuration_parameter− ALTER USER { name | ALL } [ IN DATABASE database_name ] RESET ALLPostgreSQL 9.3← 9.2语法变化
+ ALTER USER { name | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }+ ALTER USER { name | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT+ ALTER USER { name | ALL } [ IN DATABASE database_name ] RESET configuration_parameter+ ALTER USER { name | ALL } [ IN DATABASE database_name ] RESET ALLPostgreSQL 9.2← 9.1语法变化
+ ALTER USER name [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }+ ALTER USER name [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT+ ALTER USER name [ IN DATABASE database_name ] RESET configuration_parameter+ ALTER USER name [ IN DATABASE database_name ] RESET ALLPostgreSQL 9.1← 9.0语法变化
+ | REPLICATION | NOREPLICATIONPostgreSQL 9.0← 8.4语法变化
+ ALTER USER name RENAME TO new_name− where option can be:− ALTER USER name RENAME TO newnamePostgreSQL 8.3← 8.2语法变化
+ ALTER USER name SET configuration_parameter FROM CURRENT+ ALTER USER name RESET configuration_parameter+ ALTER USER name RESET ALLPostgreSQL 8.2← 8.1语法变化
+ ALTER USER name SET configuration_parameter { TO | = } { value | DEFAULT }+ ALTER USER name RESET configuration_parameter− ALTER USER name SET parameter { TO | = } { value | DEFAULT }− ALTER USER name RESET parameter正文更新PostgreSQL 8.1← 8.0语法变化
+ SUPERUSER | NOSUPERUSER+ | CREATEDB | NOCREATEDB+ | CREATEROLE | NOCREATEROLE+ | CREATEUSER | NOCREATEUSER+ | INHERIT | NOINHERIT+ | LOGIN | NOLOGIN+ | CONNECTION LIMIT connlimit+ | VALID UNTIL 'timestamp'− | VALID UNTIL 'abstime'正文更新PostgreSQL 8.0← 7.4语法变化
+ CREATEDB | NOCREATEDB+ | CREATEUSER | NOCREATEUSER+ | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'− | CREATEDB | NOCREATEDB− | CREATEUSER | NOCREATEUSER正文更新PostgreSQL 7.4← 7.3语法变化
+ ALTER USER name [ [ WITH ] option [ ... ] ]+ ALTER USER name RENAME TO newname+ ALTER USER name SET parameter { TO | = } { value | DEFAULT }+ ALTER USER name RESET parameter− ALTER USER username [ [ WITH ] option [ ... ] ]− ALTER USER username SET variable { TO | = } { value | DEFAULT }− ALTER USER username RESET variable正文更新PostgreSQL 7.3← 7.2语法变化
+ ALTER USER username SET variable { TO | = } { value | DEFAULT }+ ALTER USER username RESET variable正文更新PostgreSQL 7.2← 7.1语法变化
+ ALTER USER username [ [ WITH ] option [ ... ] ]+ where option can be:+ [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'+ | CREATEDB | NOCREATEDB+ | CREATEUSER | NOCREATEUSER+ | VALID UNTIL 'abstime'− [ WITH PASSWORD 'password' ]− [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]− [ VALID UNTIL 'abstime' ]正文更新PostgreSQL 7.1← 7.0文件改名
sql-alteruser.htm → sql-alteruser.html
正文更新PostgreSQL 7.0← 6.5语法变化
+ [ WITH PASSWORD 'password' ]− ALTER USER username [ WITH PASSWORD password ]− [ IN GROUP groupname [, ...] ]− [ VALID UNTIL 'abstime' ]正文更新PostgreSQL 6.5← 6.4正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
GRANT | GRANT | — | 1717 次 | |
| 定义访问权限 | 现存 | |||
REVOKE | REVOKE | — | 1719 次 | |
| 撤销访问权限 | 现存 | |||
ALTER DEFAULT PRIVILEGES | ALTER | DEFAULT PRIVILEGES | 186 次 | |
| 定义默认访问权限 | 现存 | |||
CREATE GROUP | CREATE | GROUP | 198 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER GROUP | ALTER | GROUP | 144 次 | |
| 更改角色名称或成员资格 | 现存 | |||
DROP GROUP | DROP | GROUP | 8.22 次 | |
| 移除一个数据库角色 | 现存 | |||
SECURITY LABEL | SECURITY | LABEL | 126 次 | |
| 定义或更改应用于对象的安全标签 | 现存 | |||
DROP OWNED | DROP | OWNED | 142 次 | |
| 移除一个数据库角色所拥有的数据库对象 | 现存 | |||
REASSIGN OWNED | REASSIGN | OWNED | 142 次 | |
| 更改一个数据库角色所拥有的数据库对象的所有权 | 现存 | |||
CREATE POLICY | CREATE | POLICY | 142 次 | |
| 为一个表定义一条新的行级安全策略 | 现存 | |||
ALTER POLICY | ALTER | POLICY | 141 次 | |
| 更改一条行级安全策略的定义 | 现存 | |||
DROP POLICY | DROP | POLICY | 9.61 次 | |
| 从一个表中移除一条行级安全策略 | 现存 | |||
CREATE ROLE | CREATE | ROLE | 177 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER ROLE | ALTER | ROLE | 1410 次 | |
| 更改数据库角色 | 现存 | |||
DROP ROLE | DROP | ROLE | 8.21 次 | |
| 移除一个数据库角色 | 现存 | |||
SET ROLE | SET | ROLE | 9.01 次 | |
| 设置当前会话的当前用户标识符 | 现存 | |||
SET SESSION AUTHORIZATION | SET | SESSION AUTHORIZATION | 9.02 次 | |
| 设置当前会话的会话用户标识符和当前用户标识符 | 现存 | |||
CREATE USER | CREATE | USER | 1912 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER USER | ALTER | USER | 1417 次 | |
| 更改数据库角色 | 现存 | |||
DROP USER | DROP | USER | 8.23 次 | |
| 移除一个数据库角色 | 现存 | |||