Thread: Field Separator not working?
I'm having troubles setting the field separator. I tried this on pg7.4, 8.0 and 8.1beta, and I always get the same results. So, from within psql i do: pulitzer2=# select * from pg_user; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig -----------+----------+-------------+----------+-----------+----------+----------+-----------mario | 1 | t | t | t | ******** | |postgres | 100 | t | t | t | ******** | |pulitzer2 | 102 | f | f | f | ******** | infinity |101 | 101 | f | f | f | ******** | infinity | (4 rows) pulitzer2=# \t Showing only tuples. pulitzer2=# \f# Field separator is "#". pulitzer2=# select * from pg_user;mario | 1 | t | t | t | ******** | |postgres | 100 | t | t | t | ******** | |pulitzer2 | 102 | f | f | f | ******** | infinity |101 | 101 | f | f | f | ******** | infinity | pulitzer2=# psql does tell me that I changed the field separator to "#", but it still uses "|" as separator. I'm parsing the script from bash, using psql, and setting the field separator options on the command line, but I get similair results, the field separator is always "|", so I need to awk-it with -F, but sometimes I have problems because data in my tables often contain "|" charachter. I've been looking trough the psql source code, but just like that, it's too big hassle for me now :) Am I doing something wrong? Mike -- Mario Splivalo Mob-Art mario.splivalo@mobart.hr "I can do it quick, I can do it cheap, I can do it well. Pick any two."
Mario Splivalo wrote: > pulitzer2=# \t > Showing only tuples. > pulitzer2=# \f# > Field separator is "#". > pulitzer2=# select * from pg_user; > mario | 1 | t | t | t | ******** | > psql does tell me that I changed the field separator to "#", but it > still uses "|" as separator. I'm parsing the script from bash, using > psql, and setting the field separator options on the command line, but I > get similair results, the field separator is always "|", so I need to > awk-it with -F, but sometimes I have problems because data in my tables > often contain "|" charachter. You'll want this too: \pset format unaligned man psql or see the manual for full details -- Richard Huxton Archonet Ltd
On Wed, 2005-10-19 at 11:43 +0100, Richard Huxton wrote: > Mario Splivalo wrote: > > pulitzer2=# \t > > Showing only tuples. > > pulitzer2=# \f# > > Field separator is "#". > > pulitzer2=# select * from pg_user; > > mario | 1 | t | t | t | ******** | > > > psql does tell me that I changed the field separator to "#", but it > > still uses "|" as separator. I'm parsing the script from bash, using > > psql, and setting the field separator options on the command line, but I > > get similair results, the field separator is always "|", so I need to > > awk-it with -F, but sometimes I have problems because data in my tables > > often contain "|" charachter. > > You'll want this too: > \pset format unaligned > > man psql or see the manual for full details Hopla. It works perfetcly, thnx. Sometimes we're lazy to trough-read the manuals :) Mario -- Mario Splivalo Mob-Art mario.splivalo@mobart.hr "I can do it quick, I can do it cheap, I can do it well. Pick any two."