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 SE все еще находится в активной разработке. Оптимизация запросов является примитивной (и в основном оставлена на обертке). Таким образом, есть значительное пространство для будущих улучшений производительности.

Примеры

Создайте бесполезный внешний обертыватель данных 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 SE.

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