Is there a way to achieve the performance of the COPY FROM STDIN command within
a C extension function connected to the db connection that called the C
function? I have text that I would like to receive as input to a C function
that contains many COPY command statements in the file that would be parsed
similar to how psql would handle the file but I don't want to shell out to psql
as I need to do all of this work on the db connection that the function was
called from as there are other commands that I need to perform as well after
before and after handling the COPY commands on this same connection. I would
like the unit of work to be all or nothing and have the performance of the COPY
FROM STDIN command and not break things out into SELECT INTO or INSERT
statements for performance.
Ideally I would like to be able to attach to the calling db connection via
SPI_connect() and then use the libpq library to issue the copy commands via
PQputCopyData, PQputCopyEnd.