================== ALTER USER MAPPING ================== .. container:: refentry :name: SQL-ALTERUSERMAPPING .. container:: titlepage .. container:: refnamediv .. rubric:: ALTER USER MAPPING :name: alter-user-mapping ALTER USER MAPPING — 更改一个用户映射的定义 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC } SERVER server_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) .. container:: refsect1 :name: id-1.9.3.44.5 .. rubric:: 描述 :name: 描述 ``ALTER USER MAPPING``\ 更改一个用户映射的定义。 一个外部服务器的拥有者可以为任何用户修改用于该服务器的用户映射。还有, 如果一个用户被授予了外部服务器上的\ ``USAGE``\ 特权,它就能为它们自 己的用户名修改一个用户映射。 .. container:: refsect1 :name: id-1.9.3.44.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``user_name``* 该映射的用户名。\ ``CURRENT_USER``\ 和\ ``USER``\ 匹配当前 用户的名称。\ ``PUBLIC``\ 被用来匹配系统中所有当前以及未来的用户名。 *``server_name``* 该用户映射的服务器名。 ``OPTIONS ( [ ADD | SET | DROP ] option`` ['*``value``*'] [, ... ] ) 为该用户映射更改选项。新选项会覆盖任何之前指定的选项。\ ``ADD``\ 、 ``SET``\ 和\ ``DROP``\ 指定要被执行的动作。如果没有显式地指定 操作,将假定为\ ``ADD``\ 。选项名称必须为唯一,该服务器的外部数据包装 器也会验证选项。 .. container:: refsect1 :name: id-1.9.3.44.7 .. rubric:: 示例 :name: 示例 为服务器\ ``foo``\ 的用户映射\ ``bob``\ 更改口令: .. code:: programlisting ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public'); .. container:: refsect1 :name: id-1.9.3.44.8 .. rubric:: 兼容性 :name: 兼容性 ``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 在这里的实现与标准不同。 .. container:: refsect1 :name: id-1.9.3.44.9 .. rubric:: 另见 :name: 另见 `CREATE USER MAPPING `__, `DROP USER MAPPING `__