SQL COMMAND · 角色与权限
ALTER GROUP
更改角色名称或成员资格
change role name or membership
ALTER角色与权限引入 7.0现存至 20 devel4 次语法变更
- 动词
ALTER- 对象
GROUP- 分组
- 角色与权限
- 引入版本
- 7.0
- 状态
- 现存
- 语法变更次数
- 4
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
ALTER GROUP · 语法 2
role_specification
ALTER GROUP · 语法 3
语法概要
ALTER GROUP role_specification ADD USER user_name [, ... ] ALTER GROUP role_specification DROP USER user_name [, ... ] 其中 role_specification 可以是: role_name | CURRENT_ROLE | CURRENT_USER | SESSION_USER ALTER GROUP group_name RENAME TO new_name
描述
ALTER GROUP 更改用户组的属性。这是一个已废弃的命令,但出于向后兼容的考虑仍然接受它,因为组(以及用户)已经被更一般的角色概念所取代。
前两个变体将用户加入一个组,或将其从组中移除。(为此目的,任何角色都可以充当“用户”或“组”。)这些变体实际上等效于对名为“组”的角色授予或撤销成员资格,因此更推荐使用 GRANT 或
REVOKE。请注意,GRANT 和 REVOKE 还提供了此命令没有的附加选项,例如可以授予和撤销 ADMIN OPTION,以及指定授权者(grantor)。
第三个变体更改组的名称。这与使用 ALTER ROLE 重命名该角色完全等效。
参数
group_name要修改的组(角色)的名称。
user_name要加入该组或从该组中移除的用户(角色)。这些用户必须已经存在;
ALTER GROUP不会创建或删除用户。new_name该组的新名称。
示例
向组中添加用户:
ALTER GROUP staff ADD USER karl, john;
从组中移除用户:
ALTER GROUP workers DROP USER beth;
兼容性
SQL 标准中没有 ALTER GROUP 语句。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 16← 15正文更新
正文更新PostgreSQL 14← 13语法变化
+ | CURRENT_ROLE+ | CURRENT_USERPostgreSQL 10← 9.6正文更新
正文更新PostgreSQL 9.5← 9.4语法变化
+ ALTER GROUP role_specification ADD USER user_name [, ... ]+ ALTER GROUP role_specification DROP USER user_name [, ... ]+ role_name+ | CURRENT_USER+ | SESSION_USER− ALTER GROUP group_name ADD USER user_name [, ... ]− ALTER GROUP group_name DROP USER user_name [, ... ]PostgreSQL 9.0← 8.4语法变化
+ ALTER GROUP group_name ADD USER user_name [, ... ]+ ALTER GROUP group_name DROP USER user_name [, ... ]+ ALTER GROUP group_name RENAME TO new_name− ALTER GROUP groupname ADD USER username [, ... ]− ALTER GROUP groupname DROP USER username [, ... ]− ALTER GROUP groupname RENAME TO newname正文更新PostgreSQL 8.1← 8.0正文更新
正文更新PostgreSQL 8.0← 7.4正文更新
正文更新PostgreSQL 7.4← 7.3语法变化
+ ALTER GROUP groupname ADD USER username [, ... ]+ ALTER GROUP groupname DROP USER username [, ... ]+ ALTER GROUP groupname RENAME TO newname− ALTER GROUP name ADD USER username [, ... ]− ALTER GROUP name DROP USER username [, ... ]正文更新PostgreSQL 7.2← 7.1正文更新
正文更新PostgreSQL 7.1← 7.0文件改名
sql-altergroup.htm → sql-altergroup.html
正文更新PostgreSQL 7.0← 6.5新增此命令
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
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 次 | |
| 移除一个数据库角色 | 现存 | |||