Если вы можете избежать этого, сделайте это. PostgreSQL не особенно хорошо сочетается с C ++. Возможно, , как показывает PostGIS , но это не слишком весело.
Если вы можете, напишите или сгенерируйте чистую оболочку C для вашей библиотеки C ++ и используйте эту оболочку для взаимодействия с библиотекой. Это не будет практичным, если он в большой степени основан на шаблонах (например, boost) или использует другие более продвинутые функции C ++, но работает хорошо, если это просто код стиля C-with-objects. SWIG может помочь вам создать обертки.
Если вы предпочитаете избегать использования метода-оболочки или если ваша библиотека слишком сложна, слишком зависима от исключений и т. Д., То вам следует прочитать эту запись в PostgreSQL .
Просмотрите список рассылки PostgreSQL для дальнейшего обсуждения этой темы.