Hi Aleksander, I have the requirements to return a bytea array for some functions in pg_thrift plugin. What I did was similar to the following,
bytea** ret = palloc(len * sizeof(bytea*)); for (int i = 0; i < len; i++) { // allocate space ret[i] = palloc(size); // fill in ret[i] ... } PG_RETURN_POINTER(ret); I can verify each ret[i] is correct by logging, but server crash when executed PG_RETURN_POINTER(ret). So, I am wondering what's the reason of the crash? and what's the recommended way (best practice) to construct a return value to be bytea array?