========================== ALTER FOREIGN DATA WRAPPER ========================== .. container:: refentry :name: SQL-ALTERFOREIGNDATAWRAPPER .. container:: titlepage .. container:: refnamediv .. rubric:: ALTER FOREIGN DATA WRAPPER :name: alter-foreign-data-wrapper ALTER FOREIGN DATA WRAPPER — 更改一个外部数据包装器的定义 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis ALTER FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ] ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER FOREIGN DATA WRAPPER name RENAME TO new_name .. container:: refsect1 :name: id-1.9.3.12.5 .. rubric:: 描述 :name: 描述 ``ALTER FOREIGN DATA WRAPPER``\ 更改一个 外部数据包装器的定义。该命令的第一种形式用于更改外部数据包装器的 支持函数或者一般选项(至少要求一个子句)。第二种形式更改外部数据包 装器的拥有者。 只有超级用户能修改外部数据包装器。此外,只有超级用户能够拥有外部数 据包装器。 .. container:: refsect1 :name: id-1.9.3.12.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``name``* 一个已有的外部数据包装器的名称。 ``HANDLER handler_function`` 为外部数据包装器指定一个新的处理器函数。 ``NO HANDLER`` 用于指定该外部数据包装器不再具有一个处理器函数。 注意使用没有处理器的外部数据包装器的外部表不能被访问。 ``VALIDATOR validator_function`` 为外部数据包装器指定一个新的验证器函数。 注意,新的验证器可能会认为该外部数据包装器或者依赖于它的独立服务器 的已有选项、用户映射、外部表无效。PostgreSQL 不会做这种检查。在使用修改过的外部数据包装器之前确认这些选项正确是 用户的责任。不过,在这个\ ``ALTER FOREIGN DATA WRAPPER``\ 命令中指定的选项将会被使用新的验证器检查。 ``NO VALIDATOR`` 用于指定该外部数据包装器不再拥有一个验证器函数。 ``OPTIONS ( [ ADD | SET | DROP ] option`` ['*``value``*'] [, ... ] ) 为该外部数据包装器更改选项。\ ``ADD``\ 、\ ``SET`` 以及\ ``DROP``\ 指定要被执行的动作。如果没有显式地指定操作, 将假定为\ ``ADD``\ 。选项名称必须唯一,选项名称和值(如果有) 也会使用该外部数据包装器的验证器函数来验证。 *``new_owner``* 该外部数据包装器的新拥有者的用户名。 *``new_name``* 该外部数据包装器的新名称。 .. container:: refsect1 :name: id-1.9.3.12.7 .. rubric:: 示例 :name: 示例 更改一个外部数据包装器\ ``dbi``\ ,增加选项 ``foo``\ 并删除\ ``bar``\ : .. code:: programlisting ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP 'bar'); 把外部数据包装器\ ``dbi``\ 的验证器改为 ``bob.myvalidator``\ : .. code:: programlisting ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator; .. container:: refsect1 :name: id-1.9.3.12.8 .. rubric:: 兼容性 :name: 兼容性 ``ALTER FOREIGN DATA WRAPPER``\ 符合 ISO/IEC 9075-9 (SQL/MED)。不过\ ``HANDLER``\ 、 ``VALIDATOR``\ 、\ ``OWNER TO`` 以及\ ``RENAME``\ 子句是扩展。 .. container:: refsect1 :name: id-1.9.3.12.9 .. rubric:: 另见 :name: 另见 `CREATE FOREIGN DATA WRAPPER `__, `DROP FOREIGN DATA WRAPPER `__