ALTER USER MAPPING

Name

ALTER USER MAPPING -- 更改户映射的定义

Synopsis

ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
    SERVER server_name
    OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )

描述

ALTER USER MAPPING 更改户映射的定义。

外服务器的所有者可以为任何用户更改那个服务器的户映射。 而且,若已将服务器的USAGE权限授予该用户,那么该用户 可以为其自身的用户名修改户映射。

参数

user_name

映射的名称。CURRENT_USERUSER匹配当前用户的名称。 PUBLIC用于匹配系统中已有和将来创建的所有用户名。

server_name

用户映射的服务器名称。

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

为户映射更改选项。先选项重写所有先前声明的选项。 ADD, SET, 和DROP声明要执行的操作。若未明确声明操作,则假定为ADD。 选项名称必须是独一无二的;选项也要通过服务器的外数据封装包验证。

示例

为户映射bob,服务器 foo更改密码:

ALTER USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'public');

兼容性

foo conforms to ISO/IEC 9075-9 (SQL/MED). There is a subtle syntax issue: The standard omits the FOR key word. Since both CREATE USER MAPPING and DROP USER MAPPING use FOR in analogous positions, and IBM DB2 (being the other major SQL/MED implementation) also requires it for ALTER USER MAPPING, PostgreSQL diverges from the standard here in the interest of consistency and interoperability. foo符合于ISO/IEC 9075-9(SQL/MED)。存在一个微妙的语法问题: 标准省略了FOR关键字。自CREATE USER MAPPINGDROP USER MAPPING在类似的位置使用FOR, 并且IBM DB2 对于ALTER USER MAPPING(作为其他主要SQL/MED实现) 也需要它,PostgreSQL偏离在一致性和交互操作性的利益的标准。

又见

CREATE USER MAPPING, DROP USER MAPPING