Postgresql пользовательские проблемы с функцией

Я установил postgresql в моем Ubuntu 14.04 с помощью команды apt-get..
Postgresql 9,4
libpg 9.4.8

Я хочу добавить пользовательскую функцию c для динамической загрузки.
У меня есть мой файл c и файл функции sql готовы в соответствии со спецификацией, но основная проблема заключается в том, что файл c содержит строки заголовка, такие как..

    #include "postgres.h"
    #include 
    #include "fmgr.h"

у меня есть папка на рабочем столе, но нет файла postgers.h или fmgr.h..
Я не знаю, где найти исходный файл в моей системе, но я скачал весь исходный код из git и добавил в ту же папку..
Если я запускаю команду компиляции, она показывает

postgres_ext.h:47:9: error: unknown type name 'PG_INT64_TYPE'<br>
 typedef PG_INT64_TYPE pg_int64;



я не знаю, с чего начать. Должен ли я поместить свой файл в любой каталог postgres, а затем скомпилировать или загрузить исходный файл? Что делать с ошибкой..? Пожалуйста, помогите.. Большое спасибо заранее.

1 ответ

Используйте PGXS для компиляции вашего кода как расширения, написав простой Makefile.

Это установит для вас путь включения, путь к библиотеке и т. Д. И предоставит правильные флаги компилятора.

Это обсуждается в той же документации, что и учебные пособия, которые охватывают написание основных функций языка Си.

Другие вопросы по тегам