CREATE FOREIGN DATA WRAPPER
Определяет новую обертку сторонних данных (foreign data wrapper).
Синтаксис
CREATE FOREIGN DATA WRAPPER <name>
[ HANDLER <handler_function> | NO HANDLER ]
[ VALIDATOR <validator_function> | NO VALIDATOR ]
[ OPTIONS ( [ mpp_execute { 'master' | 'any' | 'all segments' } [, ] ] <option> '<value>' [, ... ] ) ]
Описание
CREATE FOREIGN DATA WRAPPER создает новую обертку сторонних данных в текущей базе данных.
Пользователь, который определяет обертку сторонних данных, становится ее владельцем.
Создавать обертки сторонних данных могут только суперпользователи.
Параметры
| Параметр | Описание |
|---|---|
name |
Имя создаваемой обертки сторонних данных. Имя должно быть уникальным в пределах базы данных |
HANDLER <handler_function> |
Имя ранее зарегистрированной функции, которую Greengage DB вызывает для получения функций выполнения для сторонних таблиц.
Функция Можно создать обертку сторонних данных без функции-обработчика, но тогда с помощью такой обертки можно только объявлять сторонние таблицы, а не обращаться к ним |
VALIDATOR <validator_function> |
Имя ранее зарегистрированной функции, которую Greengage DB вызывает для проверки параметров, заданных для обертки сторонних данных.
Эта функция также проверяет параметры для сторонних серверов, сопоставлений пользователей и сторонних таблиц, использующих данную обертку сторонних данных.
Если не указана функция-валидатор или указано Параметр Возвращаемый тип игнорируется.
Параметр |
OPTIONS (<option> '<value>' [, … ]) |
Параметры для новой обертки сторонних данных.
Имена параметров должны быть уникальными.
Имена и значения параметров зависят от конкретной обертки сторонних данных и проверяются с помощью функции |
mpp_execute { 'master' | 'any' | 'all segments' } |
Параметр, определяющий хост, с которого обертка сторонних данных читает или записывает данные:
Поддержка параметра Параметр |
Примечания
Функциональность оберток сторонних данных находится в разработке. Оптимизация запросов примитивна (и в основном остается на стороне обертки).
Примеры
Создать бесполезную обертку сторонних данных с именем 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 в Greengage DB не реализованы.
Однако функциональность SQL/MED в целом пока еще не является полностью соответствующей стандарту.