Yes, I know, but the backend does not allow for a bigger buffer. Trying to use a 80K (char[81920])buffer did not work and returns: INFO: string-size : 48015 INFO: +++++++++++++++++++++++++++ server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Succeeded.
The surprising thing is that the data can be displayed using elog but not returend with a string pointer.
You cannot just return pointer to stack (local for function) buffer - it gets freed on return from the function. You must explicitly palloc required memory chunk.