Combining \i and \copy in psql

Started by Rhys A.D. Stewartalmost 8 years ago2 messagesgeneral
Jump to latest
#1Rhys A.D. Stewart
rhys.stewart@gmail.com

Greetings,

I have a query in a .sql file and I'd like to use \i to execute it and
\copy to save it to a csv file. Is there any way to combine the two?

Something along the lines of:

\copy \i myquery.sql to 'output.csv'

Rhys
Peace & Love|Live Long & Prosper

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: Rhys A.D. Stewart (#1)
Re: Combining \i and \copy in psql

On Tue, May 15, 2018 at 8:30 AM, Rhys A.D. Stewart <rhys.stewart@gmail.com>
wrote:

Greetings,

I have a query in a .sql file and I'd like to use \i to execute it and
\copy to save it to a csv file. Is there any way to combine the two?

Something along the lines of:

\copy \i myquery.sql to 'output.csv'

​Maybe try something like:

\o output.csv
COPY (
\i myquery.sql
) TO stdout;
\o

You'll need to use COPY if you want to mix in \i with a query that would
otherwise operate as a standard select query.

David J.