Uruchomienie skryptu w C w postgresql

0

Witajcie,

Mam totalny zanik pamięci i już nawet googla poprawnie nie odpytuję ...

Przenoszę obecnie bazę danych z serwera A na serwer B. Niby wszystko poszło poprawnie prócz jednej funkcji. Wygląda ona mniej więcej tak:

CREATE FUNCTION public.exec_shell_command (
  text
)
RETURNS varchar
AS '$libdir/pg_sys_cmd.so', 'exec_shell_command'
LANGUAGE c
STRICT;

pg_sys_cmd.so to skrypt w C no i przy kompilacji funkcji dostaję wyjątek:
ERROR: could not access file "$libdir/pg_sys_cmd.so": No such file or directory

Sęk w tym, że w ścieżce /var/lib/postgresq/ jest katalog cały przerzucony w którym są pliki
pg_sys_cmd.c, pg_sys_cmd.o oraz pg_sys_cmd.so jednak postgresql dalej nie widzi tej lokalizacji.

Macie pomysł jak to rozwiązać?

0

Porównaj wartości $libdir w obu bazach.

0

@kq dobry trop ale ... po ustawieniu tych samych ścieżek dostaję dość dziwny wyjątek o niezgodności klasy czy coś takiego ... jak mniemam na nowym środowisku też trzeba skrypt skompilować za pomocą gcc ale niestety wywala mi że nie rozpoznano pliku postgresql.h (jako include w pg_sys_cmd.c)

0

Doinstaluj paczkę postgresql-devel czy coś w ten deseń (może postgresql-headers?).

0
sudo apt-get install postgresql-server-dev-9.1

już zainstalowałem i dalej ten sam komunikat ale poszukam jeszcze może jest jakiś do samych headerów pakiet

1

cytując klasyka polskiego hip hopu: "Jak nie zgodnie z prawem to lewą stroną jadę" nie udało mi się ogarnąć tego tematu z C więc skorzystałem z zainstalowanego języka plpythonu i przepisałem skrypt z C na pythona. Działa bez problemu także temat można uznać za rozwiązany ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1