Modern syntax:
COPY (SELECT * FROM ...) TO '/tmp/filename.csv' (FORMAT csv);
So the 162 rows of my output table have been copied in the shell. How
can I paste or move them to a csv file?
The result is the CSV file. Open it with any spreadsheet program using matching delimiters. The manual:
The default is a tab character in text format, a comma in CSV format
The psql meta command \copy
is a wrapper around the SQL COPY
function. It writes and reads files local to the client (while COPY
uses files local to the server) and does not require superuser privileges.
See:
- Export specific rows from a PostgreSQL table as INSERT SQL script
- PostgreSQL: export resulting data from SQL query to Excel/CSV