Re: dumping query results to a csv - Mailing list pgsql-admin

From Steve Crawford
Subject Re: dumping query results to a csv
Date
Msg-id 200508251655.55679.scrawford@pinpointresearch.com
Whole thread Raw
In response to dumping query results to a csv  (David Durham <ddurham@vailsys.com>)
List pgsql-admin
On Thursday 25 August 2005 3:24 pm, David Durham wrote:
> This is kind of a pg-admin newbie question, so apologies in
> advance.
>
> Anyway, I'd like to issue a command that dumps the results of a
> query to a txt file in comma delimited format.  Does PostgreSQL
> ship with something to do this?  I searched the web, but found what
> appeared to be non-free solutions.

Use heredoc notation to set the format to unaligned, set your field
separator (and, if necessary, record separator) to whatever you want,
turn off the footer, and run the output to a file:

psql <any needed connection parameters> --quiet databasename <<EOT
\pset format unaligned
\pset fieldsep ','
\pset footer
\o youroutputfile.csv
select ......
EOT

Or if you prefer everything on the command line:
psql <any needed connection parameters> --quiet --no-align
--field-separator ',' --pset footer --output youroutputfile.csv
--command <select .......> databasename

Optionally add \pset tuples-only (first example) or --tuples-only
(second example) if you do not want the header line with field names
to be included. Note, if you use tuples only, you don't need to turn
off the footer separately. You can also use the short versions of all
the command line switches if you prefer. "man psql"

Cheers,
Steve


pgsql-admin by date:

Previous
From: Aldor
Date:
Subject: Re: What is syslog:duration reporting ... ?
Next
From: "Colin E. Freas"
Date:
Subject: pgcrypto regression test: how can I change the port?