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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Colin E. Freas | 2005-08-26 00:01:59 | pgcrypto regression test: how can I change the port? |
Previous Message | Aldor | 2005-08-25 23:50:29 | Re: What is syslog:duration reporting ... ? |