ALTER USER MAPPING — 更改用户映射的定义
ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER USER MAPPING更改用户映射的定义。
外部服务器的拥有者可以为该服务器上的任何用户修改用户映射。 此外,如果某个用户已被授予该服务器上的USAGE权限, 那么该用户也可以修改其自己用户名对应的用户映射。
user_name映射的用户名。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 在这里偏离了标准。