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