Предоставление пользователям доступа к PXF
Во фреймворке PXF реализован протокол PXF, определяющий формат взаимодействия между расширением Greengage DB и Java-сервисом PXF. Это позволяет создавать внешние таблицы, ссылающиеся на данные во внешнем хранилище.
Регистрация PXF в БД
Расширение PXF требуется включить в каждой базе данных, где его планируется использовать. Также необходимо явно предоставить разрешение на протокол PXF ролям, которым требуется доступ, как описано в Управление доступом к PXF. Для регистрации расширения требуются права администратора Greengage DB.
-
Подключитесь к БД как
gpadmin:$ psql -d <dbname> -U gpadmin -
Создайте расширение PXF:
CREATE EXTENSION pxf;
Создание расширения PXF регистрирует протокол PXF и обработчики вызовов, необходимые для доступа PXF к внешним данным.
Удаление PXF из БД
Когда расширение PXF в определенной базе данных больше не используется, его нужно удалить. Для удаления расширения требуются права администратора Greengage DB.
-
Подключитесь к БД как
gpadmin:$ psql -d <dbname> -U gpadmin -
Удалите расширение PXF:
DROP EXTENSION pxf;
Команда DROP завершается с ошибкой, если какие-либо существующие внешние таблицы используют протокол PXF.
Используйте опцию CASCADE, чтобы также удалить и эти внешние таблицы:
DROP EXTENSION pxf CASCADE;
Управление доступом к PXF
Чтобы читать внешние данные с помощью PXF, вы создаете читающую внешнюю таблицу с помощью команды CREATE EXTERNAL TABLE, в которой указан протокол PXF.
Чтобы записывать данные во внешнее хранилище данных с помощью PXF, вы создаете пишущую внешнюю таблицу с помощью команды CREATE WRITABLE EXTERNAL TABLE, в которой указан протокол PXF.
Вы должны явно предоставить разрешения SELECT и INSERT на протокол PXF всем обычным (не суперпользовательским) ролям Greengage DB, которым требуется доступ на чтение или запись, соответственно.
Чтобы узнать больше о ролях и привилегиях в Greengage DB и использовании команды GRANT, см. Роли и привилегии.
Например, чтобы предоставить роли с именем bill доступ к данным, ссылающимся на внешнюю таблицу, созданную с использованием протокола PXF:
-
Доступ на чтение:
GRANT SELECT ON PROTOCOL pxf TO bill; -
Доступ на запись:
GRANT INSERT ON PROTOCOL pxf TO bill;