ARTICLE · 1324083
第四章 为PostgreSQL写插件
第四章 为PostgreSQL写插件
刚给 PostgreSQL 写了个 C++ 插件,装好就能直接 select pg_cpp_add(10, 32),返回 330。
核心思路就一条:C++ 写好逻辑,编译成静态库;再用 C 写一层包装接进 PG。目录里放源码、静态库和配置文件,结构很清楚。
坑全在接口和异常这两处。C++ 函数得包进 extern "C",避免名字被编译器 mangling。调用时用 try/catch 包住,把 C++ 异常转成 PG 的 ereport(ERROR),别让异常漏进 PG。
构建也不复杂。先编静态库,再编整个插件。关键在 Makefile:PG_CXXFLAGS 开 C++17,SHLIB_LINK 链接静态库和 -lstdc++,最后 make install 装好。
装完进 psql 建扩展就能用了。说白了,PG 扩展不是非得纯 C,C++ 照样能接进去。
原文第四章 为PostgreSQL写插件
作者提示: 个人观点,仅供参考
广东,34分钟前,















































































