============= CREATE SERVER ============= .. container:: refentry :name: SQL-CREATESERVER .. container:: titlepage .. container:: refnamediv .. rubric:: CREATE SERVER :name: create-server CREATE SERVER — 定义一个新的外部服务器 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis CREATE SERVER [ IF NOT EXISTS ] server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ] FOREIGN DATA WRAPPER fdw_name [ OPTIONS ( option 'value' [, ... ] ) ] .. container:: refsect1 :name: id-1.9.3.82.5 .. rubric:: 描述 :name: 描述 ``CREATE SERVER``\ 定义一个新的外部服务器。 定义该服务器的用户会成为拥有者。 外部服务器通常包装了外部数据包装器用来访问一个外部数据源所需的 连接信息。额外的用户相关的连接信息可以通过用户映射的方式来指定。 服务器名称在数据库中必须唯一。 创建服务器要求所使用的外部数据包装器上的\ ``USAGE``\ 特权。 .. container:: refsect1 :name: id-1.9.3.82.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist ``IF NOT EXISTS`` 如果已经存在同名的服务器,不要抛出错误。在这种情况下发出一个通知。 请注意,不能保证现有服务器与要创建的服务器类似。 *``server_name``* 要创建的外部服务器的名称。 *``server_type``* 可选的服务器类型,可能对外部数据包装器有用。 *``server_version``* 可选的服务器版本,可能对外部数据包装器有用。 *``fdw_name``* 管理该服务器的外部数据包装器的名称。 ``OPTIONS ( option`` '*``value``*' [, ... ] ) 这个子句为服务器指定选项。这些选项通常定义该服务器的连接细节, 但是实际的名称和值取决于该服务器的外部数据包装器。 .. container:: refsect1 :name: id-1.9.3.82.7 .. rubric:: 注解 :name: 注解 在使用\ `dblink `__\ 模块时,一个外部服务器的名称可以被 用作\ `dblink_connect `__\ 函数的一个参数来指示 连接参数。以这种方式使用外部服务器,需要在其上具有 ``USAGE``\ 特权。 .. container:: refsect1 :name: id-1.9.3.82.8 .. rubric:: 示例 :name: 示例 创建使用外部数据包装器\ ``postgres_fdw`` 的服务器\ ``myserver``\ : .. code:: programlisting CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', dbname 'foodb', port '5432'); 详见\ `postgres_fdw `__\ 。 .. container:: refsect1 :name: id-1.9.3.82.9 .. rubric:: 兼容性 :name: 兼容性 ``CREATE SERVER``\ 符合 ISO/IEC 9075-9 (SQL/MED)。 .. container:: refsect1 :name: id-1.9.3.82.10 .. rubric:: 另见 :name: 另见 `ALTER SERVER `__, `DROP SERVER `__, `CREATE FOREIGN DATA WRAPPER `__, `CREATE FOREIGN TABLE `__, `CREATE USER MAPPING `__