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