Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

CREATE SERVER

Определяет новый сторонний сервер.

Синтаксис

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

Описание

Команда CREATE SERVER определяет новый сторонний сервер (foreign server). Пользователь, определивший сервер, становится его владельцем. Сторонний сервер обычно содержит информацию о подключении, которую обертка сторонних данных (foreign data wrapper) использует для доступа к источнику данных. Дополнительная пользовательская информация о подключении может быть задана с помощью сопоставлений пользователей (user mapping). Для создания сервера требуется привилегия USAGE на указанную обертку сторонних данных.

Параметры

Параметр Описание

server_name

Имя создаваемого стороннего сервера. Имя сервера должно быть уникальным в пределах базы данных

server_type

Опциональный тип сервера, который может быть полезен для оберток сторонних данных

server_version

Опциональная версия сервера, которая может быть полезна для оберток сторонних данных

fdw_name

Имя обертки сторонних данных, которая управляет сервером

OPTIONS ( <option> '<value>' [, …​ ] )

Параметры для нового стороннего сервера. Обычно параметры определяют детали подключения к серверу, но конкретные имена и значения зависят от обертки сторонних данных этого сервера

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

Опция, специфичная для Greengage DB, которая определяет хост, с которого обертка сторонних данных читает или записывает данные.

  • master (по умолчанию) — чтение и запись данных осуществляются на мастере.

  • any — чтение осуществляется на мастере или одном из сегментов, в зависимости от того, где меньше расчетная стоимость запросов.

  • all segments — чтение и запись данных осуществляются на всех сегментах. Чтобы поддерживать это значение, обертка сторонних данных должна иметь политику, которая сопоставляет сегменты с данными. Greengage DB поддерживает параллельную запись во внешние таблицы только если задано mpp_execute 'all segments'.

Поддержка опции mpp_execute для стороннего сервера, а также конкретных режимов, зависит от обертки сторонних данных.

Опцию mpp_execute можно указывать в нескольких командах: CREATE FOREIGN TABLE, CREATE SERVER и CREATE FOREIGN DATA WRAPPER. Настройка на уровне внешней таблицы имеет приоритет над настройкой на уровне стороннего сервера, а затем — над настройкой на уровне обертки сторонних данных

num_segments '<num>'

Когда значение mpp_execute установлено в 'all segments', опция num_segments, специфичная для Greengage DB, определяет количество исполнителей запроса, которые Greengage DB запускает в исходном кластере. Если вы не укажете значение, по умолчанию num равен количеству сегментов в исходном кластере.

Поддержка опции num_segments для стороннего сервера зависит от обертки сторонних данных

Примечания

При использовании модуля 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).

См. также