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