Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

Предоставление пользователям доступа к PXF

Антон Монаков

Во фреймворке PXF реализован протокол PXF, определяющий формат взаимодействия между расширением Greengage DB и Java-сервисом PXF. Это позволяет создавать внешние таблицы, ссылающиеся на данные во внешнем хранилище.

Регистрация PXF в БД

Расширение PXF требуется включить в каждой базе данных, где его планируется использовать. Также необходимо явно предоставить разрешение на протокол PXF ролям, которым требуется доступ, как описано в Управление доступом к PXF. Для регистрации расширения требуются права администратора Greengage DB.

  1. Подключитесь к БД как gpadmin:

    $ psql -d <dbname> -U gpadmin
  2. Создайте расширение PXF:

    CREATE EXTENSION pxf;

Создание расширения PXF регистрирует протокол PXF и обработчики вызовов, необходимые для доступа PXF к внешним данным.

Удаление PXF из БД

Когда расширение PXF в определенной базе данных больше не используется, его нужно удалить. Для удаления расширения требуются права администратора Greengage DB.

  1. Подключитесь к БД как gpadmin:

    $ psql -d <dbname> -U gpadmin
  2. Удалите расширение 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;