Thread: fied separator change from the shell command line

fied separator change from the shell command line

From
paulo.oliveira@engineer.com
Date:
Hello,

I'm trying to change the usal "|" table field separator from the shell
command line:
psql -d ect -f pl_lost.sql -o pl_lost.out.txt  -F "\t" -U asaadmin

But it doesn't work. It keeps the same "|" separator in the output
file.
Can anyone please help me?
I need to output to a tab separated file. Can anynone hel me with this?

Thanks in advance,

PJO


Re: fied separator change from the shell command line

From
Edmund Bacon
Date:
paulo.oliveira@engineer.com writes:

> Hello,
>
> I'm trying to change the usal "|" table field separator from the shell
> command line:
> psql -d ect -f pl_lost.sql -o pl_lost.out.txt  -F "\t" -U asaadmin
>
> But it doesn't work. It keeps the same "|" separator in the output
> file.
> Can anyone please help me?
> I need to output to a tab separated file. Can anynone hel me with this?
>
> Thanks in advance,

Changing the field separator only works with unaligned output. You
need to add a -A to your command line switches (or --no-align). Doing
this, though, drops the column headers.


--
Remove -42 for email

Re: fied separator change from the shell command line

From
Tom Lane
Date:
Edmund Bacon <ebacon-xlii@onesystem.com> writes:
> paulo.oliveira@engineer.com writes:
>> I'm trying to change the usal "|" table field separator from the shell
>> command line:
>> psql -d ect -f pl_lost.sql -o pl_lost.out.txt  -F "\t" -U asaadmin

> Changing the field separator only works with unaligned output. You
> need to add a -A to your command line switches (or --no-align). Doing
> this, though, drops the column headers.

There's a bit of a documentation issue I think: the psql reference page
doesn't point out that -F only affects unaligned output.  You could find
that out by consulting the crossreferenced description of \pset fieldsep,
but it seems better to mention it under -F too.  I've changed the
documentation accordingly in CVS HEAD.

            regards, tom lane