Skip site navigation (1) Skip section navigation (2)

Re: dumping query results to a csv

From: Steve Crawford <scrawford(at)pinpointresearch(dot)com>
To: David Durham <ddurham(at)vailsys(dot)com>, pgsql-admin(at)postgresql(dot)org
Subject: Re: dumping query results to a csv
Date: 2005-08-25 23:55:55
Message-ID: 200508251655.55679.scrawford@pinpointresearch.com (view raw or flat)
Thread:
Lists: 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


In response to

pgsql-admin by date

Next:From: Colin E. FreasDate: 2005-08-26 00:01:59
Subject: pgcrypto regression test: how can I change the port?
Previous:From: AldorDate: 2005-08-25 23:50:29
Subject: Re: What is syslog:duration reporting ... ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group