Postgresql用户定义的c函数问题

时间:2017-06-12 03:59:51

标签: c postgresql postgresql-9.4 user-defined dynamic-function

我已经使用apt-get命令在我的ubuntu 14.04中安装了postgresql ..
postgresql 9.4
libpg 9.4.8

我想为动态加载添加用户定义的c函数 我按照规范准备好了我的c文件和sql函数文件,但主要问题是c文件包含如下的标题行。


    #include "postgres.h"
    #include <string.h>
    #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 个答案:

答案 0 :(得分:1)

Use PGXS to compile your code as an extension by writing a simple Makefile

这将为您设置包含路径,库路径等,并提供正确的编译器标志。

在与编写基本C函数的教程相同的文档中进行了讨论。