CREATE FOREIGN DATA WRAPPER#
CREATE FOREIGN DATA WRAPPER
CREATE FOREIGN DATA WRAPPER — определить новый внешний обертыватель данных
Синтаксис
CREATE FOREIGN DATA WRAPPERname
[ HANDLERhandler_function
| NO HANDLER ] [ VALIDATORvalidator_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 в целом еще не соответствует стандарту.