CREATE PROTOCOL
Регистрирует кастомный протокол доступа к данным, который можно указать при определении внешней таблицы Greengage DB.
Синтаксис
CREATE [TRUSTED] PROTOCOL <name> (
[readfunc='<read_call_handler>'] [, writefunc='<write_call_handler>']
[, validatorfunc='<validate_handler>' ])
Описание
CREATE PROTOCOL связывает имя протокола доступа к данным с обработчиками вызова, которые отвечают за чтение данных из внешнего источника данных и запись данных во внешний источник данных.
Для создания протокола необходимо быть суперпользователем.
Команда CREATE PROTOCOL должна указывать либо обработчик вызова чтения, либо обработчик вызова записи.
Обработчики вызова, указанные в команде CREATE PROTOCOL, должны быть определены в базе данных.
Имя протокола можно указать в команде CREATE EXTERNAL TABLE.
Более подробную информацию о создании и включении кастомного протокола доступа к данным см. в разделе Использование кастомных форматов и протоколов для внешних таблиц.
Параметры
| Параметр | Описание |
|---|---|
TRUSTED |
Если не указано, только суперпользователи и владелец протокола могут создавать внешние таблицы с использованием этого протокола.
Если указано, суперпользователи и владелец протокола могут выдавать ( |
name |
Имя протокола доступа к данным. Имя протокола чувствительно к регистру. Имя должно быть уникальным среди протоколов в базе данных |
readfunc='<read_call_handler>' |
Имя ранее зарегистрированной функции, которую Greengage DB вызывает для чтения данных из внешнего источника данных. Команда должна указывать либо обработчик вызова чтения, либо обработчик вызова записи |
writefunc='<write_call_handler>' |
Имя ранее зарегистрированной функции, которую Greengage DB вызывает для записи данных во внешний источник данных. Команда должна указывать либо обработчик вызова чтения, либо обработчик вызова записи |
validatorfunc='<validate_handler>' |
Необязательная функция-валидатор, которая проверяет URL-адрес, указанный в команде |
Примечания
Greengage DB обрабатывает внешние таблицы типов file, gpfdist и gpfdists внутренними средствами.
Информацию о включении протокола S3 см. в разделе S3.
Информацию об использовании протокола pxf см. в документации PXF.
Любая общая библиотека, реализующая протокол доступа к данным, должна находиться по одному и тому же пути на всех сегментных хостах Greengage DB.
Например, библиотека может находиться в каталоге, заданном переменной окружения операционной системы LD_LIBRARY_PATH на всех хостах.
Вы также можете указать расположение при определении функции-обработчика.
Например, при определении протокола s3 в команде CREATE PROTOCOL можно указать $libdir/gps3ext.so как расположение разделяемого объекта, где $libdir находится в $GPHOME/lib.
Совместимость
CREATE PROTOCOL является расширением Greengage DB.