Quieting the copyright/startup message...

Started by Sean Chittendenalmost 22 years ago7 messagespatches
Jump to latest
#1Sean Chittenden
chitt@speakeasy.net

After seeing the "Welcome to psql 8.0.0beta3, the PostgreSQL
interactive terminal." message, I finally got irritated enough at it to
try and figure out how to silence it without using the -q option to
psql(1). The attached (trivial) patch fixes said problem so that one
can add "\set QUIET" to their ~/.psqlrc and have psql not print out
their favorite database shell greeting.

This patch, while a feature (albeit minor), is low risk and I'd love to
see it added to 8.X. :) -sc

echo '\set QUIET' >> ~/.psqlrc
% cat ~/.psqlrc
\timing
\set QUIET
% psql foo
foo=#

Attachments:

patch.txttext/plain; name=patch.txt; x-unix-mode=0644Download+6-3
#2John Hansen
john@geeknet.com.au
In reply to: Sean Chittenden (#1)
Re: Quieting the copyright/startup message...

After seeing the "Welcome to psql 8.0.0beta3, the PostgreSQL
interactive terminal." message, I finally got irritated
enough at it to try and figure out how to silence it without
using the -q option to psql(1). The attached (trivial) patch
fixes said problem so that one can add "\set QUIET" to their
~/.psqlrc and have psql not print out their favorite database
shell greeting.

This patch, while a feature (albeit minor), is low risk and
I'd love to see it added to 8.X. :) -sc

Won't that violate the BSD licence?

... John

#3Peter Eisentraut
peter_e@gmx.net
In reply to: John Hansen (#2)
Re: Quieting the copyright/startup message...

John Hansen wrote:

Won't that violate the BSD licence?

The start-up message doesn't even contain any copyright information, so
no.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#4Neil Conway
neilc@samurai.com
In reply to: John Hansen (#2)
Re: Quieting the copyright/startup message...

John Hansen wrote:

Won't that violate the BSD licence?

No; if it did, psql's "-q" option would already violate the license. The
BSD license merely says:

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written
agreement is hereby granted, provided that the above copyright notice
and this paragraph and the following two paragraphs appear in all copies.

There is no requirement that the program's output mention the license
terms (perhaps you are thinking of the GPL?)

-Neil

#5John Hansen
john@geeknet.com.au
In reply to: Neil Conway (#4)
Re: Quieting the copyright/startup message...

There is no requirement that the program's output mention the
license terms (perhaps you are thinking of the GPL?)

Yea,. I must have been... :)

... John

#6Neil Conway
neilc@samurai.com
In reply to: Sean Chittenden (#1)
Re: Quieting the copyright/startup message...

On Mon, 2004-10-04 at 17:33, Sean Chittenden wrote:

After seeing the "Welcome to psql 8.0.0beta3, the PostgreSQL
interactive terminal." message, I finally got irritated enough at it to
try and figure out how to silence it without using the -q option to
psql(1).

I think the second hunk (arranging to read ~/.psqlrc before emitting the
copyright message) is all that's necessary:

[neilc:/home/neilc/pgsql]% cvs diff
Index: src/bin/psql/startup.c
===================================================================
RCS file:
/home/neilc/private-cvsroot/pgsql-server/src/bin/psql/startup.c,v
retrieving revision 1.101  
diff -c -r1.101 startup.c  
*** src/bin/psql/startup.c      27 Sep 2004 19:16:02 -0000      1.101
--- src/bin/psql/startup.c      5 Oct 2004 00:29:47 -0000
***************            
*** 280,285 ****           
--- 280,288 ----           
         */                
        else               
        {                  
+               if (!options.no_psqlrc)
+                       process_psqlrc(argv[0]);
+                          
                if (!QUIET() && !pset.notty)
                {          
                        printf(gettext("Welcome to %s %s, the PostgreSQL
interactive terminal.\n\n"
***************            
*** 302,309 ****           
                SetVariable(pset.vars, "PROMPT2", DEFAULT_PROMPT2);
                SetVariable(pset.vars, "PROMPT3", DEFAULT_PROMPT3);
-               if (!options.no_psqlrc)
-                       process_psqlrc(argv[0]);
                if (!pset.notty)
                        initializeInput(options.no_readline ? 0 : 1);
                if (options.action_string)              /* -f - was used
*/
--- 305,310 ----
[neilc:/home/neilc/pgsql]% cat ~/.psqlrc
\set QUIET on

[neilc:/home/neilc/pgsql]% psql
neilc=#

I'll apply the second hunk to CVS later today.

-Neil

#7Neil Conway
neilc@samurai.com
In reply to: Neil Conway (#6)
Re: Quieting the copyright/startup message...

On Tue, 2004-10-05 at 10:32, Neil Conway wrote:

I think the second hunk (arranging to read ~/.psqlrc before emitting the
copyright message) is all that's necessary [...]

Patch applied.

-Neil