用c++编写PostgreSQL函数

Writing PostgreSQL Functions in C++

本文关键字:函数 PostgreSQL 编写 c++      更新时间:2023-10-16

我在c++中编写postgres函数时遇到了一些问题,同时遵循C语言函数的指南。我发现大多数postgres函数都是用C而不是c++编写的,但我必须使用用c++编写的库,所以我选择了c++。我的问题是,用c++写东西的时候有什么需要注意的吗?使用pgxs编写makefile是很常见的,那么我应该如何编写makefile才能使其工作呢?谢谢。

如果你可以避免这样做,那么就这样做。PostgreSQL不能很好地与c++混合。这是可能的,如PostGIS所示的,但它不是很有趣。

如果可以的话,为c++库编写或生成一个纯C包装器,并使用该包装器与库交互。如果它是大量基于模板的(例如:boost)或使用其他更高级的c++特性,这将是不切实际的,但如果它只是C带对象风格的代码,则工作得很好。SWIG可以帮助您生成包装器。

如果你不想使用包装器,或者你的库过于复杂,过于依赖异常等,那么你应该阅读PostgreSQL手册。

在PostgreSQL邮件列表中搜索关于这个主题的更多讨论