Andreas Seltenreich wrote:
> Bruce Momjian schrob:
> 
> > I noticed your documentation example had a space before :DBNAME --- I
> > removed the space.
> 
> This space is necessary for proper expansion of the parameter. The
> \set-Command concatenates all its arguments after expansion:
> 
> --8<---------------cut here---------------start------------->8---
> scratch=# \set HISTFILE .psql_history-:DBNAME
> scratch=# \echo :HISTFILE
> .psql_history-:DBNAME
> scratch=# \set HISTFILE .psql_history- :DBNAME
> scratch=# \echo :HISTFILE
> .psql_history-scratch
> scratch=# 
> --8<---------------cut here---------------end--------------->8---
> 
> > You had the idea of not saving the history on exit if HISTFILE is not
> > set.  I don't think we have community agreement on that change, and I
> > bet we wouldn't get it.  (I have removed your documentation mention of
> > this.)  I think setting HISTSIZE to zero has that effect already if
> > people want it.
> 
> I went for bash's behaviour back then, since we copied bash's
> semantics with the other history options too.

Ah, I see.  I tested ':' expansion in queries and found the space wasn't
needed, but I see now that with \set it is needed:

        test=> \set x a
        test=> \echo :x
        a
        test=> \set y b:x
        test=> \echo :y
        b:x
        test=> \set y b :x
        test=> \echo :y
        ba

I will update the documentation to add the space.  Thanks.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to