Re: psql -P doesn't honor backslash escapes - Mailing list pgsql-bugs

From Peter Eisentraut
Subject Re: psql -P doesn't honor backslash escapes
Date
Msg-id Pine.LNX.4.21.0010061753010.949-100000@peter.localdomain
Whole thread Raw
In response to psql -P doesn't honor backslash escapes  (pgsql-bugs@postgresql.org)
List pgsql-bugs
pgsql-bugs@postgresql.org writes:

> The interactive command psql command:
> \pset fieldsep '\t'
> can be used to set the field separator to a tab character.
>
> The equivalent commandline option:
> psql -P fieldsep='\t'
> sets it to the literal '\t'

The expansion of \t to tab is done by the parser that processes the input
lines.  If you pass arguments on the command line, it doesn't apply.
That might seem odd, but it's consistent with behaviour of regular shells.
E.g.,

$ sh -c "echo $FOO"    # The $FOO is expanded by the current shell.

$ sh
$ echo $FOO        # The $FOO is expanded by the subshell.

So, to pass a tab via the psql command line, you have to convince your
shell to do it.

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: psql -P doesn't honor backslash escapes
Next
From: Vince Vielhaber
Date:
Subject: Re: email addresses at http://www.postgresql.org/bugs/index.php