Как сказать PostgreSQL использовать другую Perl-версию?

Я работаю на 64-битной машине с Ubuntu 14.04. Мне нужно использовать Perl 5.14 для работы с некоторыми модулями, которые не будут устанавливаться с новейшей версией perl (5.18). Мой сервер postgresql-9.3 должен установить Perl 5.18 при установке postgres-plperl. Поэтому я хочу сказать Postgres использовать версию 5.14, но я не нашел способ сделать это. Есть способ сделать это?

1 ответ

Решение

Вы должны перекомпилировать расширение plperl против 5.14, если вам это действительно нужно. PostgreSQL ссылается на Perl как библиотеку, а библиотеки Perl не совместимы с ABI в разных выпусках, поэтому вы не можете просто заменить 5.14 на 5.18 во время выполнения.

Вы можете изменить используемую версию Perl, выполнив установку PostgreSQL из исходного кода и указав правильный путь установки Perl в configure с помощью --with-perl или PATH env var.

Или вы можете apt-get source postgresql-9.3 и редактировать debian/rules чтобы использовать нужный Perl, отредактируйте debian/control указать правильную зависимость Perl и пересобрать пакет.

Вместо этого имеет больше смысла исправлять модули.

Другие вопросы по тегам