CREATE FOREIGN DATA WRAPPER
Эта страница переведена при помощи нейросети GigaChat.
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
- Указывает имя ранее зарегистрированной функции обработки, которая будет вызываться для получения функций выполнения внешних таблиц. Такая функция не должна принимать аргументы, а ее возвращаемый тип должен быть
fdw_handler
.ПримечаниеДопускается создание оболочки без функции обработки, однако в этом случае к внешним таблицам, использующим такую оболочку, можно только обращаться, но нельзя их создавать.
VALIDATOR validator_function
- Указывает имя ранее зарегистрированной функции проверки, используемой для валидации общих параметров оболочки, а также параметров внешних серверов, сопоставлений пользователей и внешних таблиц. Если функция проверки не указана или используется
NO VALIDATOR
, параметры не проверяются при создании. Однако оболочка может проверять или отклонять параметры во время выполнения — это зависит от ее реализации.Функция валидации должна принимать два аргумента: массив
text[]
с параметрами иoid
— идентификатор системного каталога, в котором они хранятся. Возвращаемое значение игнорируется, функция должна сигнализировать о недопустимых параметрах черезereport(ERROR)
.
OPTIONS (option 'value' [, ... ])
- Определяет параметры для создаваемой внешней оболочки данных.
Допустимые имена и значения параметров зависят от конкретной реализации оболочки и проверяются с помощью функции валидации. Имена параметров должны быть уникальными.
Примечания
Механизм работы с внешними данными в PostgreSQL все еще развивается. Оптимизация запросов пока примитивна и во многом зависит от конкретной реализации внешней оболочки. Следовательно, в этой области возможны значительные улучшения производительности в будущем.
Примеры
Создание простой внешней оболочки данных 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
являются расширениями PostgreSQL, а стандартные элементы LIBRARY
и LANGUAGE
не поддерживаются.
Следует учитывать, что реализация SQL/MED в PostgreSQL в целом пока не полностью соответствует стандарту.
Смотрите также
ALTER FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER, CREATE SERVER, CREATE USER MAPPING, CREATE FOREIGN TABLE