Search Postgresql Archives

Re: selective export for subsequent import (COPY)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



chrisj wrote:
Thanks Brent, very much appreciated, your first suggestion is perfect.

the translate suggestion assumes that there are no commas in the data, but
that is why I wanted to use tab.
I figured as much :-) Note that you can use -F "|" for a pipe symbol, or use any other character as the field separator in the psql command line, then change that to a tab with tr, if you do have commas in the data.

It also scripts up nicely:

...
FSEP="|"
psql -d .... -F "$FSEP" .... | tr "$FSEP" "\t" > $FILE
...



Brent

Brent Wood wrote:
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


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux