On Fri, 8 Dec 2023 10:45:28 -0500 David Gauthier <dfgpostgres@gmail.com> wrote: > > I'm trying to run a PG client side "\copy" command from a perl script. I > tried using $dbh->do("\\copy ...") but it barffed when it saw the '\'... > ERROR: syntax error at or near "\" > > I can do this with a command line approach, attaching to the DB then run > using...
Duh! I just realized that what I proposed with system() is a command line approach.
As David Johnston mentionned, you can use the SQL COPY command.
However, you need then to deal with permissions so that the server may write the file, so I wonder what approach is cleaner?
I wouldn't do COPY FROM FILE in that case. I would do COPY FROM STDIN and hten write the data.
The general approach is to COPY FROM STDIN and then use pg_putcopydata for each row, and finally pg_putcopyend to close out this. It's not too different from what psql does in the background.
--
Bien à vous, Vincent Veyron
https://marica.fr Logiciel de gestion des contentieux juridiques, des contrats et des sinistres d'assurance
--
Best Wishes,
Chris Travers
Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in.