Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Oh, good point. Let me look at that. Thanks. You prefer:
>
> > $ sql test
> > psql (8.4devel)
> > Type "help" for help.
>
> > test=> help
>
> Well, the question is still "where is the optional info going to go?"
>
> I think what I'd find nice looking is
>
> $ psql test
> psql 8.4devel [ server version warning here, if needed ]
> [ line with SSL info here, if needed ]
> Type "help" for help.
>
> test=>
>
> I do feel that the help statement ought to be on its own line;
> the other way is going to look cluttered, particularly as soon
> as there's a version warning in there.
OK, here is the normal startup now:
$ sql test
psql (8.4.0)
Type "help" for help.
test=>
Here is a minor version mismatch:
$ sql test
psql (8.4.0, server 8.4.1)
Type "help" for help.
test=>
Here is a major version mismatch:
$ sql test
psql (8.4.0, server 8.3.1)
WARNING: psql version 8.4.0, server version 8.3.1.
Some psql features might not work.
Type "help" for help.
test=>
I have also added '\g' to the 'help' display:
test=> help
You are using psql, the command-line interface to PostgreSQL.
\? for psql help
\h or \help for SQL help
\g or ";" to execute a query
\q to quit psql
\copyright to view the copyright
test=>
I don't know how to generate an SSL message.
With the new smaller \? "General" section, I though it was worth
considering if we still want to do the help banner the same. Obviously
we do, but I wanted to explore it.
Patch attached.
--
Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Index: src/bin/psql/help.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/help.c,v
retrieving revision 1.127
diff -c -c -r1.127 help.c
*** src/bin/psql/help.c 14 May 2008 15:30:22 -0000 1.127
--- src/bin/psql/help.c 15 May 2008 16:05:51 -0000
***************
*** 170,182 ****
*/
fprintf(output, _("General\n"));
fprintf(output, _(" \\copyright show PostgreSQL usage and
distribution terms\n"));
fprintf(output, _(" \\h [NAME] help on syntax of SQL commands, *
for all commands\n"));
fprintf(output, _(" \\q quit psql\n"));
fprintf(output, "\n");
fprintf(output, _("Query Buffer\n"));
fprintf(output, _(" \\e [FILE] edit the query buffer (or file)
with external editor\n"));
- fprintf(output, _(" \\g [FILE] send query buffer to server (and
results to file or |pipe)\n"));
fprintf(output, _(" \\p show the contents of the query
buffer\n"));
fprintf(output, _(" \\r reset (clear) the query
buffer\n"));
#ifdef USE_READLINE
--- 170,182 ----
*/
fprintf(output, _("General\n"));
fprintf(output, _(" \\copyright show PostgreSQL usage and
distribution terms\n"));
+ fprintf(output, _(" \\g [FILE] or ; execute query (and send results to
file or |pipe)\n"));
fprintf(output, _(" \\h [NAME] help on syntax of SQL commands, *
for all commands\n"));
fprintf(output, _(" \\q quit psql\n"));
fprintf(output, "\n");
fprintf(output, _("Query Buffer\n"));
fprintf(output, _(" \\e [FILE] edit the query buffer (or file)
with external editor\n"));
fprintf(output, _(" \\p show the contents of the query
buffer\n"));
fprintf(output, _(" \\r reset (clear) the query
buffer\n"));
#ifdef USE_READLINE
Index: src/bin/psql/mainloop.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/mainloop.c,v
retrieving revision 1.90
diff -c -c -r1.90 mainloop.c
*** src/bin/psql/mainloop.c 5 Apr 2008 03:40:15 -0000 1.90
--- src/bin/psql/mainloop.c 15 May 2008 16:05:51 -0000
***************
*** 177,186 ****
(line[4] == '\0' || line[4] == ';' || isspace((unsigned
char) line[4])))
{
free(line);
! puts(_("You are using psql, the command-line interface
to PostgreSQL."));
! puts(_("Enter SQL commands, or type \\? for a list of
backslash options."));
! puts(_("Use \\h for SQL command help."));
! puts(_("Use \\q to quit."));
fflush(stdout);
continue;
}
--- 177,189 ----
(line[4] == '\0' || line[4] == ';' || isspace((unsigned
char) line[4])))
{
free(line);
! puts(_("\nYou are using psql, the command-line
interface to PostgreSQL."));
! puts(_("\t\\? for psql help"));
! puts(_("\t\\h or \\help for SQL help\n"));
! puts(_("\t\\g or \";\" to execute a query"));
! puts(_("\t\\q to quit psql\n"));
! puts(_("\t\\copyright to view the copyright\n"));
!
fflush(stdout);
continue;
}
Index: src/bin/psql/startup.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/startup.c,v
retrieving revision 1.147
diff -c -c -r1.147 startup.c
*** src/bin/psql/startup.c 8 May 2008 17:04:26 -0000 1.147
--- src/bin/psql/startup.c 15 May 2008 16:05:52 -0000
***************
*** 317,342 ****
server_version = server_ver_str;
}
! printf(_("Welcome to %s %s (server %s), the
PostgreSQL interactive terminal.\n\n"),
! pset.progname, PG_VERSION,
server_version);
}
else
! printf(_("Welcome to %s %s, the PostgreSQL
interactive terminal.\n\n"),
! pset.progname, PG_VERSION);
!
! printf(_("Type: \\copyright for distribution terms\n"
! " \\h for help with SQL
commands\n"
! " \\? for help with psql
commands\n"
! " \\g or terminate with semicolon to
execute query\n"
! " \\q to quit\n\n"));
if (pset.sversion / 100 != client_ver / 100)
! printf(_("WARNING: You are connected to a
server with major version %d.%d,\n"
! "but your %s client is major
version %d.%d. Some backslash commands,\n"
! "such as \\d, might not work
properly.\n\n"),
! pset.sversion / 10000,
(pset.sversion / 100) % 100,
! pset.progname,
! client_ver / 10000, (client_ver /
100) % 100);
#ifdef USE_SSL
printSSLInfo();
--- 317,335 ----
server_version = server_ver_str;
}
! printf(_("%s (%s, server %s)\n"),
! pset.progname, PG_VERSION, server_version);
}
else
! printf("%s (%s)\n", pset.progname, PG_VERSION);
if (pset.sversion / 100 != client_ver / 100)
! printf(_("\tWARNING: %s version %d.%d, server
version %d.%d.\n"
! "\tSome psql features might not
work.\n"),
! pset.progname, client_ver / 10000,
(client_ver / 100) % 100,
! pset.sversion / 10000, (pset.sversion /
100) % 100);
!
! printf(_("Type \"help\" for help.\n\n"));
#ifdef USE_SSL
printSSLInfo();
--
Sent via pgsql-patches mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches