LINUX.ORG.RU

Проблема с написанием ф-ций для Postgres на С.


0

0

Проблема в следующем:
1.Есть функция к постгресу написанная на С. Лежит в файле 1.c.
Называется cool_func().
2.Копмиляю её так :
gcc -fpic -c 1.c -I/usr/include/pgsql gcc -shared -o 1.so 1.o
3.Создаю ф-цию в постгресе:
create function cool_func() returns opaque as '/home/user/postg/1.so' language 'c';
psql говорит "CREATE".
4.Проверяю работает ли - работает. :)
5. Изменяю название функции на very_cool_func(), перекомпиливаю, делаю drop function cool_func(), опять делаю create function;
psql говорит "ERROR: Can't find function very_cool_func() in file /home/user/postg/1.so".
6.Удяляю файл /home/user/postg/1.so, делаю ``create function cool_func() returns opaque as '/home/user/postg/1.so' language 'c';''
psql говорит "CREATE".

Я в шоке:(((. Похоже он где-то сохраняет сами shared object и не смотрит что реально лежит в том пути, который ему показывается.
Посоветуйте пожалуйста как можно с этим боротся, если можно.


Дык постмастера пробовал передергивать? Скорее всего библиотека подгрузилась в 1-й раз и так и осталась в памяти.

PETER ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.