2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4

CREATE USER MAPPING

CREATE USER MAPPING — 定义一个用户到外部服务器的新映射

概要

CREATE USER MAPPING [ IF NOT EXISTS ] FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC }
    SERVER server_name
    [ OPTIONS ( option 'value' [ , ... ] ) ]

描述

CREATE USER MAPPING 定义一个用户到外部服务器的映射。用户映射通常封装了外部数据包装器使用的连接信息,该信息与外部服务器封装的信息一起用于访问外部数据资源。

外部服务器的所有者可以为该服务器创建任何用户的用户映射。此外,如果用户已被授予对该服务器的 USAGE 权限,用户也可以为其自己的用户名创建用户映射。

参数

IF NOT EXISTS

如果给定用户到给定外部服务器的映射已存在,则不报错。在这种情况下会发出一个通知。请注意,不能保证现有的用户映射与将要创建的映射有任何相似之处。

user_name

映射到外部服务器的现有用户的名称。CURRENT_ROLECURRENT_USERUSER 匹配当前用户的名称。当指定 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)。

提交更正

如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步说明的内容,请使用 此表单 报告文档问题。