Перейти к основному содержимому

plperlu. Загружаемый недоверенный процедурный язык PL/Perlu

В исходном дистрибутиве установлено по умолчанию: нет.

Связанные компоненты: отсутствуют.

Схема размещения: pg_catalog.

примечание

Расширение вынесено в часть дистрибутива «untrusted». Подробное описание решения представлено в разделе «Информация по Untrusted-расширениям» документа «Руководство по установке».

PL/PerlU — это загружаемый недоверенный процедурный язык, позволяющий реализовывать функции PostgreSQL на языке программирования Perl.

Используется в случае необходимости написать на Perl код, функциональность которого не будет ограничиваться.

Например, может потребоваться функция на Perl, которая будет посылать почту, PL/Perl можно установить как «недоверенный» язык. Тогда будут доступны все возможности языка Perl.

Доработка

Доработка не проводилась.

Ограничения

В целях безопасности в Perl запрещаются все операции, взаимодействующие с окружением. В том числе операции с файлами, require и use (для внешних модулей). Поэтому функции на PL/Perl, в отличие от функций на C, никаким образом не могут взаимодействовать с внутренними механизмами сервера баз данных или обращаться к операционной системе с правами серверного процесса. Вследствие этого использовать этот язык может любой непривилегированный пользователь баз данных.

Установка

Обозначения

Далее в примерах команд будут использоваться следующие обозначения:

  • {OS} – наименование операционной системы и ее версия;
  • {product_version} – версия продукта (текущая версия: 6.7.6);
  • {base_version} – базовая версия продукта (текущая: 6).

Устанавливая язык, укажите имя plperlu, чтобы выбрать «недоверенную» вариацию PL/Perl.

При наличии прав администратора СУБД включение модуля выполняется следующими шагами:

  1. Установите rpm/deb-пакет расширения, в зависимости от окружения:

    sudo dnf install pangolin-dbms-{base_version}-plperl-{product_version}-{OS}.x86_64.rpm
    Подсказка

    Пример заполненной команды:

       cd distributive
    tar -xzf untrusted/untrusted.tar.gz -C untrusted/
    sudo dnf -y install untrusted/pangolin-dbms-6-plperl-6.7.6-sberlinux8.x86_64.rpm
  2. Подключиться к БД, в которой необходимо зарегистрировать расширение.

  3. Выполните активацию расширения с помощью команды:

    CREATE EXTENSION plperlu SCHEMA ext;

Отключение

Для отключения расширения необходимо его удалить.

  1. Подключиться к БД, в которой зарегистрировано расширение.

  2. Выполните отключение расширения с помощью команды:

    DROP EXTENSION plperlu;
  3. Удалите rpm/deb-пакет с расширением.

Настройка

Настройка не требуется.

Ссылки на документацию разработчика

Дополнительно поставляемый модуль plperlu.