Many thanks, Greg!

I got it to work by emulating what you wrote.
But I think you meant -A, not -At below.
>> psql -c "select name,setting from pg_settings limit 1" -d postgres -At
>> -F $'\t'

Regards,

Tena Sakai
tsa...@gallo.ucsf.edu


On 5/31/10 8:07 PM, "Greg Smith" <g...@2ndquadrant.com> wrote:

> Tena Sakai wrote:
>>   $ echo "select marker, p, afreq from gallo.fbat_sdsdecode limit 10" | \
>>> psql -P 'format=unaligned' -P 'fieldsep=\t' -t -f - musket
>> What's denoted as \t is not a tab character.  It is a two character
>> sequence backslash followd by a t.  I have tried all other possibilities
>> such as \\t , "\t", etc that I can think of, but I cannot get an honest to
>> god tab character to appear as field separator.
> 
> Yeah, that's a tough one.  In bash you can use ANSI C quoting to pull
> this off:
> 
> psql -c "select name,setting from pg_settings limit 1" -d postgres -At
> -F $'\t'
> 
> See http://wiki.bash-hackers.org/syntax/quoting for more information.
> Portability to other shells I'm not sure about.
> 
> Note that I did two other things a little differently than your example,
> as well as tightening up the abbreviations:
> 
> -Putting the command in -c " " is just better all around than piping
> into psql using echo.  It even works with multi-line input, i.e.:
> 
> psql -c "
> select 1
> "
> 
> -Explicitly specifying the database manually using -d makes what's
> happening easier to follow than expecting people to know the convention
> that the first non-option passed to psql is a database name.


-- 
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Reply via email to