2014-08-18 2 views
1

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

+0

Какие модули не работают на 5.18? У них есть отчеты об ошибках? – hobbs

+0

Unix :: SavedIDs https://rt.cpan.org/Public/Dist/Display.html?Name=Unix-SavedIDs, например – oszd93

ответ

3

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

Вы можете изменить версию Perl используется путем выполнения установки в PostgreSQL из источника и указав правильный Perl установить путь к configure с помощью --with-perl или PATH ENV вар.

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

Для исправления модулей требуется гораздо больше смысла.