CREATE FOREIGN DATA WRAPPER#

CREATE FOREIGN DATA WRAPPER

CREATE FOREIGN DATA WRAPPER

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

Синтаксис

CREATE FOREIGN DATA WRAPPER name
    [ HANDLER handler_function | NO HANDLER ]
    [ VALIDATOR validator_function | NO VALIDATOR ]
    [ OPTIONS ( option 'value' [, ... ] ) ]

Описание

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

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

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

Параметры

name

Имя создаваемого внешнего источника данных.

HANDLER handler_function

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

Возможно создать обертку внешних данных без функции-обработчика, но внешние таблицы, использующие такую обертку, могут только быть объявлены, но не доступны.

VALIDATOR validator_function

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

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

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

Примечания

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

Примеры

Создайте бесполезную обертку внешних данных 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), за исключением того, что предложения HANDLER и VALIDATOR являются расширениями, а стандартные предложения LIBRARY и LANGUAGE не реализованы в Tantor BE.

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