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