October 26, 2004
PostgreSQL | Generating comma-separated files with psql
psql is an excellent command line tool, but lacks the advanced report formatting facilities of, for example, Oracle's SQL*Plus. However it can be used to output results in several different formats including CSV.
To generate a comma-separated file (CSV), set the following format options:
\pset tuples_only
\pset format unaligned
\pset fieldsep ,
\pset recordsep '\n'
The results of any statements now issued will be in CSV format. To output text fields correctly, ensure they are wrapped in quotes, e.g.:
SELECT '"' || text_field || '"' AS text_field,
sum
FROM report_view
To return to the usual output format it's probably easier to start a new psql session.
Posted at 7:23 AM