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_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 在此方面偏离了标准。
如果您在文档中发现任何不正确、与您使用特定功能的经验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。