ALTER USER MAPPING — 更改一个用户映射的定义
ALTER USER MAPPING FOR {user_name
| USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC } SERVERserver_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
。选项名称必须为唯一,该服务器的外部数据包装
器也会验证选项。
为服务器 foo
的用户映射bob
更改口令:
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 在这里的实现与标准不同。