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 SERVERDROP SERVER