CREATE SERVER

定义一个新的外部服务器。

概要

CREATE SERVER server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ]
    FOREIGN DATA WRAPPER fdw_name
    [ OPTIONS ( [ mpp_execute { 'master' | 'any' | 'all segments' } [, ] ] option 'value' [, ... ] ) ]

描述

CREATE SERVER定义一个新的外部服务器。定义服务器的用户将成为其所有者。

外部服务器通常封装外部数据包装器用来访问外部数据源的连接信息。 可以通过用户映射指定其他特定于用户的连接信息。

创建服务器需要对指定的外部数据包装器具有USAGE特权。

参数

server_name

  • 要创建的外部服务器的名称。服务器名称在数据库中必须唯一。

server_type

  • 可选服务器类型,可能对外部数据包装器有用。

server_version

  • 可选服务器版本,可能对外部数据包装器有用。

fdw_name

  • 管理服务器的外部数据包装器的名称。

OPTIONS ( option 'value' [, ... ] )

  • 新的外部服务器的选项。 这些选项通常定义服务器的连接详细信息,但是实际的名称和值取决于服务器的外部数据包装器。

mpp_execute { 'master' | 'any' | 'all segments' }

  • 一个选项,用于标识外部数据包装器从其请求数据的主机:
    • master(默认设置)- 从master主机请求数据。
    • any — 向master主机或任一segment请求数据,具体取决于哪条路径的成本更低。
    • all segments — 从所有segment中请求数据。 要支持此选项值,外部数据包装器必须具有将segment与数据匹配的策略。
  • 可以在多个命令中指定mpp_execute选项: CREATE FOREIGN TABLE, CREATE SERVER和CREATE FOREIGN DATA WRAPPER。 外部表设置优先于外部服务器设置,然后是外部数据包装器设置。

注解

使用dblink模块(请参阅dblink)时, 可以将外部服务器名称用作dblink_connect()函数的参数来提供连接参数。 您必须在外部服务器上具有USAGE特权才能以这种方式使用它。

示例

创建一个名为myserver的外部服务器,该服务器使用名为pgsql的外部数据包装器并包含连接选项:

CREATE SERVER myserver FOREIGN DATA WRAPPER pgsql
    OPTIONS (host 'foo', dbname 'foodb', port '5432');

兼容性

CREATE SERVER符合ISO/IEC 9075-9(SQL/MED)。

另见

ALTER SERVER , DROP SERVER