============ ALTER SERVER ============ .. container:: refentry :name: SQL-ALTERSERVER .. container:: titlepage .. container:: refnamediv .. rubric:: ALTER SERVER :name: alter-server ALTER SERVER — 更改一个外部服务器的定义 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis ALTER SERVER name [ VERSION 'new_version' ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ] ALTER SERVER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER SERVER name RENAME TO new_name .. container:: refsect1 :name: id-1.9.3.31.5 .. rubric:: 描述 :name: 描述 ``ALTER SERVER``\ 更改一个外部服务器的定义。 第一种形式更改该服务器的版本字符串或者该服务器的一般选项(至少要求 一个子句)。第二种形式更改该服务器的拥有者。 要修改该服务器,你必须是它的拥有者。此外为了修改拥有者,你必须拥有 该服务器并且是新拥有角色的一个直接或者间接成员,并且你必须具有该服 务器的外部数据包装器上的\ ``USAGE``\ 特权(注意超级用户自动 满足所有这些政策)。 .. container:: refsect1 :name: id-1.9.3.31.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``name``* 一个现有服务器的名称。 *``new_version``* 新的服务器版本。 ``OPTIONS ( [ ADD | SET | DROP ] option`` ['*``value``*'] [, ... ] ) 更改该服务器的选项。\ ``ADD``\ 、\ ``SET``\ 和 ``DROP``\ 指定要执行的动作。如果没有显式地指定操作, 将会假定为\ ``ADD``\ 。选项名称必须唯一,名称和值也会 使用该服务器的外部数据包装器库进行验证。 *``new_owner``* 该外部服务器的新拥有者的用户名。 *``new_name``* 该外部服务器的新名称。 .. container:: refsect1 :name: id-1.9.3.31.7 .. rubric:: 示例 :name: 示例 修改服务器\ ``foo``\ ,增加连接选项: .. code:: programlisting ALTER SERVER foo OPTIONS (host 'foo', dbname 'foodb'); 修改服务器\ ``foo``\ ,更改版本、更改\ ``host``\ 选项: .. code:: programlisting ALTER SERVER foo VERSION '8.4' OPTIONS (SET host 'baz'); .. container:: refsect1 :name: id-1.9.3.31.8 .. rubric:: 兼容性 :name: 兼容性 ``ALTER SERVER``\ 符合 ISO/IEC 9075-9 (SQL/MED)。 ``OWNER TO``\ 和\ ``RENAME``\ 形式是 PostgreSQL 扩展。 .. container:: refsect1 :name: id-1.9.3.31.9 .. rubric:: 另见 :name: 另见 `CREATE SERVER `__, `DROP SERVER `__