hstore_plperl. Трансформация типа hstore для PL/Perl#

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

Связанные компоненты: hstore, plperl.

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

Этот модуль реализует трансформации тип данных hstore для языка PL/Perl.

Описание типа hstore смотрите здесь: hstore. Тип данных для хранения пар ключ/значение внутри одного значения

Примечание

Существуют дополнительные расширения, реализующие трансформации типа hstore для языков PL/Perl и PL/Python:

  • расширения для PL/Perl называются hstore_plperl для доверенного и hstore_plperlu для недоверенного PL/Perl; если установить эти трансформации и указать их при создании функции, значения hstore будут отображаться в хеше Perl;

  • расширение для PL/Python называется hstore_plpython3u и при его использовании значения hstore будут отображаться в словаре Python.

Примечание

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

Доработка#

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

Ограничения#

Рекомендуется устанавливать в одну схему с hstore.

Установка#

Обозначения

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

  • {OS} – наименование операционной системы и ее версия;

  • {product_version} – версия продукта (текущая версия: 7.1.1);

  • {base_version} – базовая версия продукта (текущая: 7).

Необходима предварительная установка связанного расширения plperl или использовать предложение CASCADE.

Модуль считается «доверенным», поэтому его могут устанавливать пользователи, имеющие право CREATE в текущей базе данных.

Расширения, реализующие трансформации, рекомендуется устанавливать в одну схему с hstore. Другая схема может содержать объекты, созданные злонамеренным пользователем. Выбор такой схемы может повлечь за собой угрозу безопасности во время установки расширения.

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

    sudo dnf install pangolin-dbms-{base_version}-hstore-plperl-{product_version}-{OS}.x86_64.rpm
    
    sudo apt install pangolin-dbms-{base_version}-hstore-plperl-{product_version}_amd64.deb
    
    sudo apt-get install pangolin-dbms-{base_version}-hstore-plperl-{product_version}-{OS}.x86_64.rpm
    

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

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

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

    CREATE EXTENSION hstore_plperl CASCADE SCHEMA ext;
    

Отключение#

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

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

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

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

Настройка#

Не требуется.

Использование модуля#

Использование модуля описано здесь: hstore. Тип данных для хранения пар ключ/значение внутри одного значения

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

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