PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

CREATE USER MAPPING

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

Synopsis

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_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)。

另请参阅

ALTER USER MAPPING, DROP USER MAPPING, CREATE FOREIGN DATA WRAPPER, CREATE SERVER