Не устанавливается plperl

Проблема - не получается установить plperl на Suse.
Предварительно установил пакет Perl'а, с созданием so-шника.
Но при createlang пишет:
ERROR: could not access file $libdir/plperl : No such file or directory
Спасибо.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Какой пакет установили? Есть

Какой пакет установили? Есть ли файл по указаному пути? Содержимое установленого пакета командой rpm -ql пакет? От какого пользователя запускаете createlang?

Установка из пакетов, которые

Установка из пакетов, которые выбирал при установке Suse.
Даже в терминальной сессии присвоил переменной $libdir место, где лежит plperl.so в либе установленного Perl'a.
Запускал естественно от postgres'a.

В общем версий несколько: 1.

В общем версий несколько:
1. Не осуществляется корректная подстановка $libdir. Попробуйте вручную вписать нужный каталог. но не в терминале, а в /var/lib/pgsql/data/postgresql.conf (пусть к конфигу даю для Fedora/RHEL/CentOS, где в SuSE думаю найдёте). В конфиге есть специальные строки для этого:

#dynamic_library_path = '$libdir'
#local_preload_libraries = ''

2. Насколько мне известно, в SuSE есть такая штука как AppArmor, которая запрещает определённые действия определённым программам. Если PostgreSQL запрещена загрузка .so, то также может быть возникшая у вас проблема. На эту мысль навело меня сообщение:

ERROR: could not access file $libdir/plperl : No such file or directory

нет доступа (could not access). Также нелишне проверить, доступен ли каталог и сам файл plperl.so на чтение пользователю postgres.

The specified module could not be found.

Изображение BriAri

подскажите новичку.
при установке языка возникла проблема.
В папке lib dll есть.

plpgsql - поставил,

-- Выполнение запроса:
CREATE LANGUAGE plpgsql;
Запрос успешно завершён без результата возврата за 96 мс.

а вот plperl не хочет устанавливать,:

-- Выполнение запроса:
CREATE FUNCTION plsample_call_handler() RETURNS language_handler
AS '$libdir/plperl'
LANGUAGE C;
CREATE LANGUAGE plperl
HANDLER plsample_call_handler;
ERROR: could not load library "F:/PostgreSQL/8.4/lib/plperl.dll": The specified module could not be found.

********** Ошибка **********

ERROR: could not load library "F:/PostgreSQL/8.4/lib/plperl.dll": The specified module could not be found.
SQL state: 58P01

и так:
-- Выполнение запроса:
CREATE LANGUAGE plperl;
ERROR: could not load library "F:/PostgreSQL/8.4/lib/plperl.dll": The specified module could not be found.

В чем проблема- неподскажете?????Плиззззз.

пакет postgresql-plperl

пакет postgresql-plperl ставили?

нЭТ. (((. попробуем

Изображение BriAri

нЭТ. :((((. попробуем/
нашла скачать на Ubuntu,но я мя винда виста= это не пойдет?
и если можно просвятите - там написано- архитектура amd64 b i386 =это чего такое?- о типу CPU? или где хоть искать?

Да, по типу CPU. Если у вас

Да, по типу CPU. Если у вас винда, то plperl должен ставится во время установки PostgreSQL. Там должно спрашивать про языки. Но чтобы plperl под Виндой работал, надо весть Perl'овский стек ставить, что довольно проблематично - здесь я во всяком случае ничего дельного сказать не могу.

подключить plpgsql на Winde

Изображение BriAri

А я нашла(почти) как подключит Перл.
http://av5.com/journals-magazines-online/1/46/447
Вот только с скомандной оболочки вашей ОС . т.е. CMD проблемка.

текст:
>$ createlang –U pgsql plpgsql имя_базы
password: (здесь неподвижно мигает курсор).
-на любые попытки напечатать пароль выдает:
createlang: could not connect to database postgress: FATAL: password authentication failed for user "pgsql"

-Какой у pgsql пасс по умолчанию?
так как я не ставила пароли н на пользователей, ни на подключение к серверу.

-и проблема с синтаксисом команды -U (написано- в ней указать имя),
-Я вот пробовала, ни че не получается, можно пример КАК ИМЕННО в ней имя указывается?
(вместо буквы U или может после????)

Команда-то написана

Команда-то написана правильно.
Дело в пароле пользователя к базе - здесь это уже обсуждалось многократно, поищи по ошибке.
Резюмируя все варианты ответов, можно предложить:
- в конфиге настроить режим авторизации по системной учетной записи (сейчас, скорее всего, стоит по паролю. Которого нет или неизвестен. Пароль имеется ввиду к postgresql, а не windows!)
- в винде создать этого пользователя, дать необходимые права, пароль
- войти в psql и первыми командами создать в БД пользователя (CREATE ROLE, можно оставить postgres, но я рекомендую завести другого), назначить ему админские права и пароль (\password )
- теперь можно выйти и поменять в конфиге авторизацию обратно по паролю.

P.S. Да. Пользователь по умолчанию при создании базы: postgres, администратор базы, неограниченные права. В целях безопасности рекомендую заводить другого пользователя, делать его владельцем рабочей базы, ограничив доступ к системным.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023