SQL COMMAND · 外部数据
CREATE USER MAPPING
定义用户到外部服务器的新映射
CREATE外部数据引入 10(基线)现存至 20 devel2 次语法变更
- 动词
CREATE- 对象
USER MAPPING- 分组
- 外部数据
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 2
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
语法概要
CREATE USER MAPPING [ IF NOT EXISTS ] FOR {user_name| USER | CURRENT_ROLE | CURRENT_USER | PUBLIC } SERVERserver_name[ OPTIONS (option'value' [ , ... ] ) ]
描述
CREATE USER MAPPING定义用户到外部服务器的映射。 用户映射通常封装连接信息,外部数据包装器会将其与外部服务器所封装 的信息结合起来,以访问外部数据资源。
外部服务器的拥有者可以为该服务器上的任何用户创建用户映射。此外,如 果某个用户已被授予该服务器上的USAGE权限,那么该 用户也可以为自己的用户名创建用户映射。
参数
IF NOT EXISTS如果给定用户到给定外部服务器的映射已经存在,则不要报错。这种情况 下会发出一个提示。请注意,不能保证现有用户映射与本应创建的映射有 任何相似之处。
user_name被映射到外部服务器的现有用户的名称。
CURRENT_ROLE、CURRENT_USER和USER都匹配当前用户的名称。当指定PUBLIC时,会创建一个所谓的公共映射;当没有适 用的特定用户映射时,就会使用它。server_name将为其创建用户映射的现有服务器的名称。
OPTIONS (option'value' [, ... ] )该子句指定用户映射的选项。这些选项通常定义该映射实际的用户名和 密码。选项名必须唯一。允许的选项名和值取决于该服务器的外部数据包 装器。
示例
为用户bob、服务器foo创建一个用户映射:
CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret');
兼容性
CREATE USER MAPPING符合 ISO/IEC 9075-9(SQL/MED)。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 14← 13语法变化
+ CREATE USER MAPPING [ IF NOT EXISTS ] FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC }− CREATE USER MAPPING [ IF NOT EXISTS ] FOR { user_name | USER | CURRENT_USER | PUBLIC }正文更新PostgreSQL 11← 10语法变化
+ CREATE USER MAPPING [ IF NOT EXISTS ] FOR { user_name | USER | CURRENT_USER | PUBLIC }− CREATE USER MAPPING [IF NOT EXISTS] FOR { user_name | USER | CURRENT_USER | PUBLIC }
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE FOREIGN DATA WRAPPER | CREATE | FOREIGN DATA WRAPPER | 191 次 | |
| 定义一个新的外部数据包装器 | 现存 | |||
ALTER FOREIGN DATA WRAPPER | ALTER | FOREIGN DATA WRAPPER | 192 次 | |
| 更改外部数据包装器的定义 | 现存 | |||
DROP FOREIGN DATA WRAPPER | DROP | FOREIGN DATA WRAPPER | — | |
| 移除一个外部数据包装器 | 现存 | |||
IMPORT FOREIGN SCHEMA | IMPORT | FOREIGN SCHEMA | — | |
| 从一个外部服务器导入表定义 | 现存 | |||
CREATE FOREIGN TABLE | CREATE | FOREIGN TABLE | 143 次 | |
| 定义一个新外部表 | 现存 | |||
ALTER FOREIGN TABLE | ALTER | FOREIGN TABLE | 142 次 | |
| 更改外部表的定义 | 现存 | |||
DROP FOREIGN TABLE | DROP | FOREIGN TABLE | — | |
| 移除一个外部表 | 现存 | |||
CREATE SERVER | CREATE | SERVER | 111 次 | |
| 定义一个新的外部服务器 | 现存 | |||
ALTER SERVER | ALTER | SERVER | 141 次 | |
| 更改外部服务器的定义 | 现存 | |||
DROP SERVER | DROP | SERVER | — | |
| 移除一个外部服务器描述符 | 现存 | |||
CREATE USER MAPPING | CREATE | USER MAPPING | 142 次 | |
| 定义用户到外部服务器的新映射 | 现存 | |||
ALTER USER MAPPING | ALTER | USER MAPPING | 141 次 | |
| 更改用户映射的定义 | 现存 | |||
DROP USER MAPPING | DROP | USER MAPPING | 141 次 | |
| 删除外部服务器的用户映射 | 现存 | |||