选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / SQL 命令 / 外部数据

SQL COMMAND · 外部数据

ALTER USER MAPPING

更改用户映射的定义

ALTER外部数据引入 10(基线)现存至 20 devel1 次语法变更

动词
ALTER
对象
USER MAPPING
引入版本
10(基线)
状态
现存
语法变更次数
1
手册小节数
5

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

ALTER USER MAPPING FOR user_name USER CURRENT_ROLE CURRENT_USER SESSION_USER PUBLIC SERVER server_name OPTIONS ( ADD SET DROP option ' value ' , )

语法概要

ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
    SERVER server_name
    OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )

PostgreSQL 18 手册 · 查看完整参考页

描述

ALTER USER MAPPING更改用户映射的定义。

外部服务器的拥有者可以为该服务器上的任何用户修改用户映射。 此外,如果某个用户已被授予该服务器上的USAGE权限, 那么该用户也可以修改其自己用户名对应的用户映射。

参数

user_name

该映射的用户名。CURRENT_ROLECURRENT_USERUSER匹配当前用户的名称。 PUBLIC用于匹配系统中当前及未来的所有用户名。

server_name

该用户映射所属服务器的名称。

OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )

更改该用户映射的选项。新选项会覆盖先前指定的任何选项。 ADDSETDROP 指定要执行的动作。如果未显式指定操作,则假定为ADD。 选项名必须唯一;这些选项还会由该服务器的外部数据包装器进行验证。

示例

更改用户映射bob、服务器foo的密码:

ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');

兼容性

ALTER USER MAPPING符合 ISO/IEC 9075-9 (SQL/MED)。这里有一个细微的语法问题:该标准省略了FOR 关键字。由于CREATE USER MAPPINGDROP USER MAPPING都在类似位置使用 FOR,而 IBM DB2(另一个主要的 SQL/MED 实现)也要求在 ALTER USER MAPPING中使用它,因此为了保持一致性和互操作 性,PostgreSQL 在这里偏离了标准。

另见

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 14← 13语法变化

    + ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }− ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC }正文更新

同组命令

命令动词对象版本变动最近变更
FOREIGN DATA外部数据13 条
CREATE FOREIGN DATA WRAPPERCREATEFOREIGN DATA WRAPPER 191 次
定义一个新的外部数据包装器现存
ALTER FOREIGN DATA WRAPPERALTERFOREIGN DATA WRAPPER 192 次
更改外部数据包装器的定义现存
DROP FOREIGN DATA WRAPPERDROPFOREIGN DATA WRAPPER
移除一个外部数据包装器现存
IMPORT FOREIGN SCHEMAIMPORTFOREIGN SCHEMA
从一个外部服务器导入表定义现存
CREATE FOREIGN TABLECREATEFOREIGN TABLE 143 次
定义一个新外部表现存
ALTER FOREIGN TABLEALTERFOREIGN TABLE 142 次
更改外部表的定义现存
DROP FOREIGN TABLEDROPFOREIGN TABLE
移除一个外部表现存
CREATE SERVERCREATESERVER 111 次
定义一个新的外部服务器现存
ALTER SERVERALTERSERVER 141 次
更改外部服务器的定义现存
DROP SERVERDROPSERVER
移除一个外部服务器描述符现存
CREATE USER MAPPINGCREATEUSER MAPPING 142 次
定义用户到外部服务器的新映射现存
ALTER USER MAPPINGALTERUSER MAPPING 141 次
更改用户映射的定义现存
DROP USER MAPPINGDROPUSER MAPPING 141 次
删除外部服务器的用户映射现存