Проблема в следующем:
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 и не смотрит что реально лежит в том пути, который ему показывается.
Посоветуйте пожалуйста как можно с этим боротся, если можно.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум PostgreSQL + C Function (2001)
- Форум PostgreSQL C functions, потеряно соединение с базой данных (2013)
- Форум Не собирается wineasio (2018)
- Форум Segmentation fault при сборке корневой файловой системы (2016)
- Форум не собирается linux-pam с musl (2019)
- Форум build gcc of src (2010)
- Форум build gcc of src (2010)
- Форум gcc 4.1.2 как собрать? (2013)
- Форум Lisp & C ф-ции (2007)
- Форум Проблемы с кросскомпиляцией GCC под MIPS (2024)