CREATE FOREIGN DATA WRAPPER

CREATE FOREIGN DATA WRAPPER — определить новую обертку сторонних данных


Синтаксис

CREATE FOREIGN DATA WRAPPER имя
    [ HANDLER функция_обработчик | NO HANDLER ]
    [ VALIDATOR функция_валидатор | NO VALIDATOR ]
    [ OPTIONS ( параметр 'значение' [, ... ] ) ]

Описание

Команда CREATE FOREIGN DATA WRAPPER создает новую обертку сторонних данных. Пользователь, определяющий обертку сторонних данных, становится ее владельцем.

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

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


Параметры

имя

Имя создаваемой обертки сторонних данных.

HANDLER функция_обработчик

функция_обработчик — это имя ранее зарегистрированной функции, которая будет вызвана для извлечения функций, реализующих обращение к сторонним таблицам. Функция-обработчик должна быть без аргументов, а ее возвращаемым типом должен быть fdw_handler.
Можно создать обертку сторонних данных без функции-обработчика, но сторонние таблицы, использующие такую обертку, могут быть только объявлены, но не доступны.

VALIDATOR функция_валидатор

функция_валидатор — это имя ранее зарегистрированной функции, которая будет вызвана для проверки общих параметров, передаваемых обертке сторонних данных, а также параметров для сторонних серверов, сопоставлений пользователей и сторонних таблиц, использующих эту обертку сторонних данных. Если функции-валидатора нет или указано NO VALIDATOR, то во время создания объектов параметры проверяться не будут. (Возможно, обертки сторонних данных будут игнорировать или отклонять недопустимые значения параметров во время выполнения, в зависимости от реализации.) Функция-валидатор должна принимать два аргумента: первый типа text[] (в нем содержится массив параметров, хранящихся в системном каталоге), а второй типа oid (в нем указывается OID системного каталога, содержащего эти параметры). Возвращаемое значение игнорируется; функция должна сообщить о недопустимых параметрах с помощью системной функции ereport(ERROR).

OPTIONS ( параметр 'значение' [, ... ] )

Это предложение задает параметры для новой обертки сторонних данных. Допустимые имена и значения параметров являются специфичными для каждой обертки сторонних данных и проверяются с помощью функции-валидатора. Имена параметров должны быть уникальными.


Примечания

Функциональность работы QHB со сторонними данными все еще находится в стадии активной разработки. Оптимизация запросов примитивна (и по большей части это тоже делает обертка). Таким образом, имеются широкие возможности для дальнейшего повышения производительности.


Примеры

Создание бесполезной обертки сторонних данных dummy:

CREATE FOREIGN DATA WRAPPER dummy;

Создание обертки сторонних данных file с функцией-обработчиком file_fdw_handler:

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

Создание обертки сторонних данных mywrapper с некоторыми параметрами:

CREATE FOREIGN DATA WRAPPER mywrapper
    OPTIONS (debug 'true');

Совместимость

Команда CREATE FOREIGN DATA WRAPPER соответствует стандарту ISO/IEC 9075-9 (SQL/MED), за исключением того, что в QHB предложения HANDLER и VALIDATOR являются расширениями, а стандартные предложения LIBRARY и LANGUAGE не реализованы.

Обратите внимание, однако, что соответствие функциональности SQL/MED в комплексе пока не достигнуто.


См. также

ALTER FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE