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

ALTER USER MAPPING

ALTER USER MAPPING — 更改用户映射的定义

概要

ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
    SERVER server_name
    OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )

描述

ALTER USER MAPPING 更改用户映射的定义。

外部服务器的所有者可以为该服务器的任何用户更改用户映射。此外,如果已授予用户对服务器的 USAGE 权限,则用户可以更改其自身用户名对应的用户映射。

参数

user_name

映射的用户名。 CURRENT_ROLECURRENT_USERUSER 匹配当前用户的名称。 PUBLIC 用于匹配系统中所有现有和将来的用户名。

server_name

用户映射的服务器名称。

OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )

更改用户映射的选项。新选项将覆盖之前指定的任何选项。 ADDSETDROP 指定要执行的操作。如果未显式指定操作,则假定为 ADD。选项名称必须唯一;选项也由服务器的外部数据包装器进行验证。

示例

更改用户映射 bob、服务器 foo 的密码

ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');

兼容性

ALTER USER MAPPING 符合 ISO/IEC 9075-9 (SQL/MED)。存在一个细微的语法问题:标准省略了 FOR 关键字。由于 CREATE USER MAPPINGDROP USER MAPPING 在类似的位置都使用了 FOR,并且 IBM DB2(作为另一个主要的 SQL/MED 实现)也要求在 ALTER USER MAPPING 中使用它,因此 PostgreSQL 在这里为了保持一致性和互操作性而偏离了标准。

提交更正

如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。