COPY FROM STDIN

From: Luke Coldiron <lukecoldiron(at)hotmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: COPY FROM STDIN
Date: 2016-01-04 18:18:20
Message-ID: BAY179-W863CD0E32E9CC2FF3F4A5DC6F20@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message gvim 2016-01-04 19:36:03 Convert 2 foreign key values within the same SELECT
Previous Message Andres Freund 2016-01-04 15:45:52 Re: Shared system resources