Обсуждение: .psqlrc output for \pset commands

Поиск
Список
Период
Сортировка

.psqlrc output for \pset commands

От
Bruce Momjian
Дата:
In my .psqlrc I have:
\pset format wrapped

and this outputs this on psql startup:
$ psql test
-->    Output format is wrapped.psql (8.4devel)Type "help" for help.

Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
wondering if we should be automatically doing quiet while .psqlrc is
processed.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: .psqlrc output for \pset commands

От
Gregory Stark
Дата:
"Bruce Momjian" <bruce@momjian.us> writes:

> In my .psqlrc I have:
>
>     \pset format wrapped
>
> and this outputs this on psql startup:
>
>     $ psql test
> -->    Output format is wrapped.
>     psql (8.4devel)
>     Type "help" for help.
>
> Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
> wondering if we should be automatically doing quiet while .psqlrc is
> processed.

I was wondering about this myself, but I'm still not used to the new banner.
It seems kind of... curt. Perhaps it should just be a single line instead of
two lines both around 20 characters...

Anyways the thing that struck me as odd was the messages appearing *before*
the header. It seems to me the header should print followed by .psqlrc output
followed by normal output.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's Slony Replication
support!


Re: .psqlrc output for \pset commands

От
Tom Lane
Дата:
Gregory Stark <stark@enterprisedb.com> writes:
> Anyways the thing that struck me as odd was the messages appearing *before*
> the header. It seems to me the header should print followed by .psqlrc output
> followed by normal output.

I think the reason for the current behavior is to allow \set QUIET in
.psqlrc to affect the printing of the banner.  Are we prepared to
give that up?
        regards, tom lane


Re: .psqlrc output for \pset commands

От
"Peter Eisentraut"
Дата:
Tom Lane wrote:
> I think the reason for the current behavior is to allow \set QUIET in
> .psqlrc to affect the printing of the banner.  Are we prepared to
> give that up?

I'm using that behavior!




Re: .psqlrc output for \pset commands

От
Neil Conway
Дата:
On Wed, 2008-06-11 at 19:24 -0400, Bruce Momjian wrote:
> Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
> wondering if we should be automatically doing quiet while .psqlrc is
> processed.

There is some precedent for not emitting the messages: most Unix tools
don't echo the results of applying their .rc files at startup.
Personally, I run psql frequently but very rarely modify my .psqlrc, so
seeing "timing is on" and similar messages echoed to the screen is
almost always noise.

-Neil




Re: .psqlrc output for \pset commands

От
Bruce Momjian
Дата:
Neil Conway wrote:
> On Wed, 2008-06-11 at 19:24 -0400, Bruce Momjian wrote:
> > Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
> > wondering if we should be automatically doing quiet while .psqlrc is
> > processed.
> 
> There is some precedent for not emitting the messages: most Unix tools
> don't echo the results of applying their .rc files at startup.
> Personally, I run psql frequently but very rarely modify my .psqlrc, so
> seeing "timing is on" and similar messages echoed to the screen is
> almost always noise.

Yea, that was really my point --- our current behavior doesn't match the
way most Unix tools behave when executing startup files.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: .psqlrc output for \pset commands

От
Peter Eisentraut
Дата:
Neil Conway wrote:
> There is some precedent for not emitting the messages: most Unix tools
> don't echo the results of applying their .rc files at startup.

Unix shells do echo the output generated by the startup files.  It's just that 
most Unix tools don't generate that much output.


Re: .psqlrc output for \pset commands

От
Bruce Momjian
Дата:
Gregory Stark wrote:
> "Bruce Momjian" <bruce@momjian.us> writes:
>
> > In my .psqlrc I have:
> >
> >     \pset format wrapped
> >
> > and this outputs this on psql startup:
> >
> >     $ psql test
> > -->    Output format is wrapped.
> >     psql (8.4devel)
> >     Type "help" for help.
> >
> > Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
> > wondering if we should be automatically doing quiet while .psqlrc is
> > processed.
>
> I was wondering about this myself, but I'm still not used to the new banner.
> It seems kind of... curt. Perhaps it should just be a single line instead of
> two lines both around 20 characters...
>
> Anyways the thing that struck me as odd was the messages appearing *before*
> the header. It seems to me the header should print followed by .psqlrc output
> followed by normal output.

Do you like this better?

    $ psql test
    psql (8.4devel)
    Type "help" for help.
    Output format is wrapped.

    test=>

The attached patch accomplishes this.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/bin/psql/startup.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/startup.c,v
retrieving revision 1.149
diff -c -c -r1.149 startup.c
*** src/bin/psql/startup.c    1 Jul 2008 00:08:18 -0000    1.149
--- src/bin/psql/startup.c    17 Jul 2008 00:44:22 -0000
***************
*** 281,292 ****
       */
      else
      {
          if (!options.no_psqlrc)
              process_psqlrc(argv[0]);
!
!         connection_warnings();
          if (!pset.quiet && !pset.notty)
!             printf(_("Type \"help\" for help.\n\n"));
          if (!pset.notty)
              initializeInput(options.no_readline ? 0 : 1);
          if (options.action_string)        /* -f - was used */
--- 281,294 ----
       */
      else
      {
+         connection_warnings();
+         if (!pset.quiet && !pset.notty)
+             printf(_("Type \"help\" for help.\n"));
          if (!options.no_psqlrc)
              process_psqlrc(argv[0]);
!         /* output newline here because .psqlrc might output something */
          if (!pset.quiet && !pset.notty)
!             printf("\n");
          if (!pset.notty)
              initializeInput(options.no_readline ? 0 : 1);
          if (options.action_string)        /* -f - was used */

Re: .psqlrc output for \pset commands

От
Bruce Momjian
Дата:
Bruce Momjian wrote:
> > >     $ psql test
> > > -->    Output format is wrapped.
> > >     psql (8.4devel)
> > >     Type "help" for help.
> > >
> > > Is this desirable?  \set QUIET at the top of .psqlrc fixes it, but I am
> > > wondering if we should be automatically doing quiet while .psqlrc is
> > > processed.
> > 
> > I was wondering about this myself, but I'm still not used to the new banner.
> > It seems kind of... curt. Perhaps it should just be a single line instead of
> > two lines both around 20 characters...
> > 
> > Anyways the thing that struck me as odd was the messages appearing *before*
> > the header. It seems to me the header should print followed by .psqlrc output
> > followed by normal output.
> 
> Do you like this better?
> 
>     $ psql test
>     psql (8.4devel)
>     Type "help" for help.
>     Output format is wrapped.
>     
>     test=>
> 
> The attached patch accomplishes this.

With no feedback, applied.  ;-)

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: .psqlrc output for \pset commands

От
Peter Eisentraut
Дата:
Am Thursday, 17. July 2008 schrieb Bruce Momjian:

> > Anyways the thing that struck me as odd was the messages appearing
> > *before* the header. It seems to me the header should print followed by
> > .psqlrc output followed by normal output.
>
> Do you like this better?
>
>     $ psql test
>     psql (8.4devel)
>     Type "help" for help.
>     Output format is wrapped.
>
>     test=>
>
> The attached patch accomplishes this.

The psqlrc file must be read before the welcome message is printed, so that 
you can disable the welcome message in the psqlrc file.  Otherwise we are 
reopening the whole issue of when and whether to print a welcome message that 
we had just settled.


Re: .psqlrc output for \pset commands

От
Bruce Momjian
Дата:
Peter Eisentraut wrote:
> Am Thursday, 17. July 2008 schrieb Bruce Momjian:
> 
> > > Anyways the thing that struck me as odd was the messages appearing
> > > *before* the header. It seems to me the header should print followed by
> > > .psqlrc output followed by normal output.
> >
> > Do you like this better?
> >
> >     $ psql test
> >     psql (8.4devel)
> >     Type "help" for help.
> >     Output format is wrapped.
> >
> >     test=>
> >
> > The attached patch accomplishes this.
> 
> The psqlrc file must be read before the welcome message is printed, so that 
> you can disable the welcome message in the psqlrc file.  Otherwise we are 
> reopening the whole issue of when and whether to print a welcome message that 
> we had just settled.

Oh, yea, sorry.  Reverted.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +