Re: selective export for subsequent import (COPY)

From: Brent Wood <b(dot)wood(at)niwa(dot)co(dot)nz>
To: chrisj <chrisj(dot)wood(at)sympatico(dot)ca>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: selective export for subsequent import (COPY)
Date: 2007-04-20 03:58:43
Message-ID: 46283A73.5040004@niwa.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

chrisj wrote:
> Thanks Alan,
> This helped a lot, but ideally I want a tab field delimiter and -F '\t' does
> not seem to work, any ideas??
>
> I noticed one other post on this same problem of the fieldsep '\t' not
> working but the only advise offered was to use \pset. Can \pset be used on
> the command line, I can only get it to work within the psql command
> processor.
>
>

You can always have a text file (file.sql):

\pset ...
select .....

the run the commands is a single client connection with

psql database -Atf file.sql

This runs a file of sql commands in a single psql connection instead of
opening a new connection for every -c "" command.
Thus the result of the \pset is still in force when the next sql
statement is executed.

or run your command as it is & pipe the output through tr to translate
the commas to tabs.
You can see what tr does using
echo "1,2" | tr "," "\t"

eg:
psql $DATABASEHOST -U $DATABASEUSER -d $DATABASE -q -P footer -A -F , -c "$DETAIL_SQL" | tr "," "\t" >table.csv

Cheers,

Brent Wood

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mike Frysinger 2007-04-20 05:20:19 cant get pg_dump/pg_restore to behave
Previous Message Tom Lane 2007-04-20 03:52:05 Re: Is it possible to move a database to another tablespace?