开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
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_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)。