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

ALTER USER MAPPING

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

Synopsis

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_ROLE、CURRENT_USER 和 USER 匹配当前用户的名称。PUBLIC 用于匹配系统中所有现在和将来的用户名。

server_name

该用户映射的服务器名称。

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

更改该用户映射的选项。新选项会覆盖以前指定的任何选项。ADD、SET 和 DROP 指定要执行的动作。如果没有显式指定操作,则默认为 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 MAPPING 和 DROP USER MAPPING 都在类似位置使用 FOR,而且 IBM DB2(作为另一个主要的 SQL/MED 实现)对 ALTER USER MAPPING 也要求使用它,因此为了保持一致性和互操作性,PostgreSQL 在这里与标准有所偏离。

另请参阅

CREATE USER MAPPING, DROP USER MAPPING