On this page
更改用户 Map
ALTER USER MAPPING —更改用户 Map 的定义
Synopsis
ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
Description
ALTER USER MAPPING
更改用户 Map 的定义。
外部服务器的所有者可以为任何用户更改该服务器的用户 Map。此外,如果已将服务器上的USAGE
特权授予该用户,则用户可以更改其自己的用户名的用户 Map。
Parameters
user_name
- Map 的用户名。
CURRENT_USER
和USER
匹配当前用户的名称。PUBLIC
用于匹配系统中所有当前和将来的用户名。
- Map 的用户名。
server_name
- 用户 Map 的服务器名称。
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
- 更改用户 Map 的选项。新选项将覆盖所有先前指定的选项。
ADD
,SET
和DROP
指定要执行的动作。如果未明确指定任何操作,则假定ADD
。选项名称必须唯一。服务器的外部数据包装程序还会验证选项。
- 更改用户 Map 的选项。新选项将覆盖所有先前指定的选项。
Examples
更改用户 Mapbob
,服务器foo
的密码:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
Compatibility
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 为了保持一致性和互操作性而与此处的标准有所不同。