OK now I have this code: 1: extern "C" { // The C header should go here 2: #include <postgres.h> 3: #include <utils/rel.h> 4: #include <fmgr.h> 5: #include <utils/array.h> 6: #include <utils/builtins.h> 7: #include <catalog/pg_type.h> 8: #include <stdlib.h> 9: #include <stdint.h> 10: 11: PG_MODULE_MAGIC; 12: } 13: 14: // CPP header without extern "C" 15: #include <string> 16: #include <vector> 17: #include <iostream> 18: #include <fstream> 19: #include <seal/seal.h> // external compiled c++ library linked on running 'make' 20: 21: Datum sum_of_numbers(PG_FUNCTION_ARGS); 22: PG_FUNCTION_INFO_V1(sum_of_numbers); 33: 34: extern "C" { // CPP function 35: int64_t sum_of_numbers(){ 36: std::vector<int64_t> numbers {23, 445, 64}; 37: auto sum = 0; 38: for (auto &item : numbers){ 39: sum += item; 40: } 41: return sum; 42: } 43: } The error this time for PostgreSQL is: *ERROR: could not find function information for function "sum_of_numbers" HINT: SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname). SQL state: 42883* Thanks, Tal -- Sent from: http://www.postgresql-archive.org/PostgreSQL-general-f1843780.html