Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-09-10 0:13 GMT+02:00 Andres Freund : > On 2014-09-09 22:22:45 +0200, Andres Freund wrote: > > I plan to push this soon. > > Done. > > Thanks for the patch! > Thank you very much Pavel > > Andres Freund > > -- > Andres Freund http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-09-09 22:22:45 +0200, Andres Freund wrote: > I plan to push this soon. Done. Thanks for the patch! Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hi, Given we already have three topics for --help and I can see others I went with my --help= proposal. On 2014-08-28 13:20:07 +0200, Andres Freund wrote: > Some stuff I changed: > * I rephrased the sgml changes > * s/Printing options/Display options/. Or maybe "Display influencing > variables"? That makes it clearer why they're listed under > --help-variables. > * I added \? commands as an alias for a plain \? > That way the scheme can sensibly be expanded. > * I renamed help_variables() to be inline with the surrounding functions. I integrated all those ontop of your help-variables-12.patch. Then I: * re-added psql -i which you, probably accidentally, removed * rephrased the sgml stuff * removed the "Report bugs to " from helpVariables() * Changed things so that both --help and \? support "commands", "options" and "variables" as help topics * fixed things so that --help=wrongoption returns a proper exit code again I attached both the full and the incremental diff. I'd appreciate somebody looking over the the docs... I plan to push this soon. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services >From 9fcf3f0983ccd617c20dc4e87889a894d873b92e Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Tue, 9 Sep 2014 22:19:14 +0200 Subject: [PATCH] Add new psql help topics, accessible to both --help and \?. Add --help= for the commandline, and \? as a backslash command, to show more help than the invocations without parameters do. "commands", "variables" and "options" currently exist as help topics describing, respectively, backslash commands, psql variables, and commandline switches. Without parameters the help commands show their previous topic. Author: Pavel Stehule, editorialized by many Reviewed-By: Andres Freund, Petr Jelinek, Fujii Masao, MauMau, Abhijit Menon-Sen and Erik Rijkers. Discussion: CAFj8pRDVGuC-nXBfe2CK8vpyzd2Dsr9GVpbrATAnZO=2yq0...@mail.gmail.com, cafj8pra54abtv2rxdtrxiad8hy8wxmovlqhjdrcwenhdd7o...@mail.gmail.com --- doc/src/sgml/ref/psql-ref.sgml | 23 - src/bin/psql/command.c | 14 ++- src/bin/psql/help.c| 210 +++-- src/bin/psql/help.h| 4 +- src/bin/psql/startup.c | 29 -- src/bin/psql/tab-complete.c| 7 ++ 6 files changed, 224 insertions(+), 63 deletions(-) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 29ad1aa..aa71674 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -560,11 +560,17 @@ EOF -? - --help + --help[=topic] - Show help about psql command line - arguments, and exit. + Show help about psql and exit. The optional + topic parameter (defaulting + to options) selects which part of psql is + explained: commands describes psql's + backslash commands; options describes the commandline + switches that can be passed to psql; + and variables shows help about about psql configuration + variables. @@ -2574,10 +2580,17 @@ testdb=> \setenv LESS -imx4F -\? +\? [ topic ] -Shows help information about the backslash commands. +Shows help information. The optional +topic parameter +(defaulting to commands) selects which part of psql is +explained: commands describes psql's +backslash commands; options describes the commandline +switches that can be passed to psql; +and variables shows help about about psql configuration +variables. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 39b5777..5d90ca2 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1491,7 +1491,19 @@ exec_command(const char *cmd, /* \? -- slash command help */ else if (strcmp(cmd, "?") == 0) - slashUsage(pset.popt.topt.pager); + { + char *opt0 = psql_scan_slash_option(scan_state, + OT_NORMAL, NULL, false); + + if (!opt0 || strcmp(opt0, "commands") == 0) + slashUsage(pset.popt.topt.pager); + else if (strcmp(opt0, "options") == 0) + usage(pset.popt.topt.pager); + else if (strcmp(opt0, "variables") == 0) + helpVariables(pset.popt.topt.pager); + else + slashUsage(pset.popt.topt.pager); + } #if 0 diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index f8f000f..ef35696 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -46,11 +46,12 @@ #define ON(var) (var ? _("on") : _("off")) void -usage(void) +usage(unsigned short int pager) { const char *env; const char *user; char *errstr; + FILE *output; /* Find default user, in case we need it. */ user = getenv("PGUSER"); @@ -64,77 +65,83 @@ usage(void) } } - printf(_("psql is the PostgreSQL interactive terminal.\n\n")); - printf(_("
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-08-28 13:54:28 +0200, Andres Freund wrote: > On 2014-08-28 13:20:07 +0200, Andres Freund wrote: > > I've attached a incremental patch. > > Apparently I didn't attach the patch, as so much a file containing the > name of the patchfile... Which you obviously didn't integrate. And didn't comment on. Grr. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hi here is a second variant with support --help=variables Regards Pavel 2014-09-04 4:25 GMT+02:00 Robert Haas : > On Thu, Aug 28, 2014 at 11:20 AM, Andres Freund > wrote: > >> >* How about making it --help=variables instead of --help-variables? > >> > >> -1, help is not a variable to be assigned imho > > > > I don't think variable assignment is a good mental model for long > > commandline arguments. And it's not like I'm the first to come up with > > an extensible --help. Check e.g. gcc. > > > > But anyway, I guess I've lost that argument. > > I think it mostly depends on how far we think we might extend it. I > mean, --help-variables is fine as a parallel to --help. But if we're > eventually going to have help for 12 things, --help=TOPIC is a lot > better than 12 separate switches. So +0.5 for your proposal from me. > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > commit cac76b6135ae9f4b3c1eab1ce6bc34b43a7506ef Author: Pavel Stehule Date: Wed Aug 27 22:47:07 2014 +0200 access to help_variables and usage from psql via psql command diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index db314c3..05a0f01 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -560,11 +560,18 @@ EOF -? --help + --help=topic Show help about psql command line arguments, and exit. + + + --help=variablesshow help about psql variables, + and exit. + + @@ -2572,10 +2579,12 @@ testdb=> \setenv LESS -imx4F -\? +\? [ options | variables ] -Shows help information about the backslash commands. +Shows help information about the backslash commands. This command can have a +option "variables" or "options" to take help for psql configuration variables +or psql command line options. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index e16b4d5..987a79f 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1503,7 +1503,19 @@ exec_command(const char *cmd, /* \? -- slash command help */ else if (strcmp(cmd, "?") == 0) - slashUsage(pset.popt.topt.pager); + { + char *opt0 = psql_scan_slash_option(scan_state, + OT_NORMAL, NULL, false); + + if (!opt0) + slashUsage(pset.popt.topt.pager); + else if (strcmp(opt0, "variables") == 0) + help_variables(pset.popt.topt.pager); + else if (strcmp(opt0, "options") == 0) + usage(pset.popt.topt.pager); + else + slashUsage(pset.popt.topt.pager); + } #if 0 diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index f8f000f..0ada015 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -46,11 +46,12 @@ #define ON(var) (var ? _("on") : _("off")) void -usage(void) +usage(unsigned short int pager) { const char *env; const char *user; char *errstr; + FILE *output; /* Find default user, in case we need it. */ user = getenv("PGUSER"); @@ -64,77 +65,82 @@ usage(void) } } - printf(_("psql is the PostgreSQL interactive terminal.\n\n")); - printf(_("Usage:\n")); - printf(_(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); + output = PageOutput(59, pager); + + fprintf(output, _("psql is the PostgreSQL interactive terminal.\n\n")); + fprintf(output, _("Usage:\n")); + fprintf(output, _(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); - printf(_("General options:\n")); + fprintf(output, _("General options:\n")); /* Display default database */ env = getenv("PGDATABASE"); if (!env) env = user; - printf(_(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n")); - printf(_(" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"), env); - printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); - printf(_(" -l, --list list available databases, then exit\n")); - printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); - printf(_(" -V, --versionoutput version information, then exit\n")); - printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); - printf(_(" -1 (\"one\"), --single-transaction\n" + fprintf(output, _(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n")); + fprintf(output, _(" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"), env); + fprintf(output, _(" -f, --file=FILENAME execute commands from file, then exit\n")); + fprintf(output, _(" -l, --list list available databases, then exit\n")); + fprintf(output, _(" -v, --set=, --variable=NAME=VALUE\n" + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); + fprintf(output, _(" -V, --versionoutput version information,
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Thu, Aug 28, 2014 at 11:20 AM, Andres Freund wrote: >> >* How about making it --help=variables instead of --help-variables? >> >> -1, help is not a variable to be assigned imho > > I don't think variable assignment is a good mental model for long > commandline arguments. And it's not like I'm the first to come up with > an extensible --help. Check e.g. gcc. > > But anyway, I guess I've lost that argument. I think it mostly depends on how far we think we might extend it. I mean, --help-variables is fine as a parallel to --help. But if we're eventually going to have help for 12 things, --help=TOPIC is a lot better than 12 separate switches. So +0.5 for your proposal from me. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello fixed ECHO, ECHO_HIDDEN, PROPMPT Regards Pavel 2014-09-01 11:52 GMT+02:00 Fujii Masao : > On Thu, Aug 28, 2014 at 9:34 PM, Pavel Stehule > wrote: > > > > > > > > 2014-08-28 14:22 GMT+02:00 Fujii Masao : > > > >> On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule > > >> wrote: > >> > comments? > >> > >> +fprintf(output, _(" ECHO control what input is > >> written to standard output [all, queries]\n")); > >> > >> The valid values in the help messages should be consistent with > >> the values that the tab-completion displays. So in the case of ECHO, > >> "errors" and "none" also should be added in the message. Thought? > >> > >> In the help messages of some psql variables like ECHO_HIDDEN, valid > >> values are not explained. Why not? > > > > > > it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html > > > > ECHO_HIDDEN > > > > When this variable is set and a backslash command queries the database, > the > > query is first shown. This way you can study the PostgreSQL internals and > > provide similar functionality in your own programs. (To select this > behavior > > on program start-up, use the switch -E.) If you set the variable to the > > value noexec, the queries are just shown but are not actually sent to the > > server and executed. > > > > There are no clear a set of valid values :( .. When I found a known > fields > > in doc, I used it. > > At least "noexec" seems to be documented as a valid value. Of course, > it's better to document other valid values. > > Regards, > > -- > Fujii Masao > commit 17a0708a0466cc8ff9e8debd0a7e9062eebe3a61 Author: Pavel Stehule Date: Wed Aug 27 22:47:07 2014 +0200 access to help_variables and usage from psql via psql command diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index db314c3..9bb14e9 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -568,6 +568,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + @@ -2572,10 +2581,12 @@ testdb=> \setenv LESS -imx4F -\? +\? [ options | variables ] -Shows help information about the backslash commands. +Shows help information about the backslash commands. This command can have a +option "variables" or "options" to take help for psql configuration variables +or psql command line options. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index e16b4d5..987a79f 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1503,7 +1503,19 @@ exec_command(const char *cmd, /* \? -- slash command help */ else if (strcmp(cmd, "?") == 0) - slashUsage(pset.popt.topt.pager); + { + char *opt0 = psql_scan_slash_option(scan_state, + OT_NORMAL, NULL, false); + + if (!opt0) + slashUsage(pset.popt.topt.pager); + else if (strcmp(opt0, "variables") == 0) + help_variables(pset.popt.topt.pager); + else if (strcmp(opt0, "options") == 0) + usage(pset.popt.topt.pager); + else + slashUsage(pset.popt.topt.pager); + } #if 0 diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index f8f000f..4f29f2a 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -46,11 +46,12 @@ #define ON(var) (var ? _("on") : _("off")) void -usage(void) +usage(unsigned short int pager) { const char *env; const char *user; char *errstr; + FILE *output; /* Find default user, in case we need it. */ user = getenv("PGUSER"); @@ -64,77 +65,82 @@ usage(void) } } - printf(_("psql is the PostgreSQL interactive terminal.\n\n")); - printf(_("Usage:\n")); - printf(_(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); + output = PageOutput(59, pager); + + fprintf(output, _("psql is the PostgreSQL interactive terminal.\n\n")); + fprintf(output, _("Usage:\n")); + fprintf(output, _(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); - printf(_("General options:\n")); + fprintf(output, _("General options:\n")); /* Display default database */ env = getenv("PGDATABASE"); if (!env) env = user; - printf(_(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n")); - printf(_(" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"), env); - printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); - printf(_(" -l, --list list available databases, then exit\n")); - printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); - printf(_(" -V, --versionoutput version information, then exit\n")); - printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); - printf(_(" -1 (\"one\"), --single-transaction\n" + fprintf(output, _(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n"))
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Thu, Aug 28, 2014 at 9:34 PM, Pavel Stehule wrote: > > > > 2014-08-28 14:22 GMT+02:00 Fujii Masao : > >> On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule >> wrote: >> > comments? >> >> +fprintf(output, _(" ECHO control what input is >> written to standard output [all, queries]\n")); >> >> The valid values in the help messages should be consistent with >> the values that the tab-completion displays. So in the case of ECHO, >> "errors" and "none" also should be added in the message. Thought? >> >> In the help messages of some psql variables like ECHO_HIDDEN, valid >> values are not explained. Why not? > > > it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html > > ECHO_HIDDEN > > When this variable is set and a backslash command queries the database, the > query is first shown. This way you can study the PostgreSQL internals and > provide similar functionality in your own programs. (To select this behavior > on program start-up, use the switch -E.) If you set the variable to the > value noexec, the queries are just shown but are not actually sent to the > server and executed. > > There are no clear a set of valid values :( .. When I found a known fields > in doc, I used it. At least "noexec" seems to be documented as a valid value. Of course, it's better to document other valid values. Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-08-28 14:04:27 +0200, Petr Jelinek wrote: > On 28/08/14 13:20, Andres Freund wrote: > >Hi, > > > >Stuff I wondered about: > >* How about making it --help=variables instead of --help-variables? > > -1, help is not a variable to be assigned imho I don't think variable assignment is a good mental model for long commandline arguments. And it's not like I'm the first to come up with an extensible --help. Check e.g. gcc. But anyway, I guess I've lost that argument. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-08-28 14:22 GMT+02:00 Fujii Masao : > On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule > wrote: > > comments? > > +fprintf(output, _(" ECHO control what input is > written to standard output [all, queries]\n")); > > The valid values in the help messages should be consistent with > the values that the tab-completion displays. So in the case of ECHO, > "errors" and "none" also should be added in the message. Thought? > > In the help messages of some psql variables like ECHO_HIDDEN, valid > values are not explained. Why not? > it is based on http://www.postgresql.org/docs/9.4/static/app-psql.html ECHO_HIDDEN When this variable is set and a backslash command queries the database, the query is first shown. This way you can study the PostgreSQL internals and provide similar functionality in your own programs. (To select this behavior on program start-up, use the switch -E.) If you set the variable to the value noexec, the queries are just shown but are not actually sent to the server and executed. There are no clear a set of valid values :( .. When I found a known fields in doc, I used it. Regards Pavel > > Regards, > > -- > Fujii Masao >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Thu, Aug 28, 2014 at 5:48 AM, Pavel Stehule wrote: > comments? +fprintf(output, _(" ECHO control what input is written to standard output [all, queries]\n")); The valid values in the help messages should be consistent with the values that the tab-completion displays. So in the case of ECHO, "errors" and "none" also should be added in the message. Thought? In the help messages of some psql variables like ECHO_HIDDEN, valid values are not explained. Why not? Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 28/08/14 13:20, Andres Freund wrote: Hi, Stuff I wondered about: * How about making it --help=variables instead of --help-variables? -1, help is not a variable to be assigned imho * Do we really need the 'Report bugs to' blurb for --help-variables? Probably not. * Since we're not exhaustive about documenting environment variales, do we really need to document TMPDIR and SHELL? They are bit more important than most of others, but probably not really necessary to be there as they are not psql specific. * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is for already started statements, and PROMPT3 is for COPY FROM STDIN? Yes please! -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-08-28 13:20 GMT+02:00 Andres Freund : > Hi, > > On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote: > > Hi > > > > I chose \? xxx, because it is related to psql features. I wrote commands: > > > > \? options > > \? variables > > > > comments? > > Generall I like it. > > Some stuff I changed: > * I rephrased the sgml changes > * s/Printing options/Display options/. Or maybe "Display influencing > variables"? That makes it clearer why they're listed under > --help-variables. > * I added \? commands as an alias for a plain \? > That way the scheme can sensibly be expanded. > * I renamed help_variables() to be inline with the surrounding functions. > > Stuff I wondered about: > * How about making it --help=variables instead of --help-variables? That > I am sorry, I don't like this idea --help-variables is much more usual for cmd line > * Do we really need the 'Report bugs to' blurb for --help-variables? > > * Since we're not exhaustive about documenting environment variales, do > we really need to document TMPDIR and SHELL? > * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is > for already started statements, and PROMPT3 is for COPY FROM STDIN? > I don't see TMPDIR, SHELL as really important in this position Pavel > > Looks like it's commitable next round. > > I've attached a incremental patch. > > Greetings, > > Andres Freund > > -- > Andres Freund http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-08-28 13:20:07 +0200, Andres Freund wrote: > I've attached a incremental patch. Apparently I didn't attach the patch, as so much a file containing the name of the patchfile... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 6d3189d..b14db45 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -2581,12 +2581,15 @@ testdb=> \setenv LESS -imx4F -\? [ options | variables ] +\? [ topic ] -Shows help information about the backslash commands. This command can have a -option "variables" or "options" to take help for psql configuration variables -or psql command line options. +Shows help information. The parameter +topic can be +commands (the default) to show help about backslash +commands, options to show information about commandline +arguments, or variables to show information about +variables influencing psql's behaviour or display. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 12cbb20..7e4626c 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1507,12 +1507,12 @@ exec_command(const char *cmd, char *opt0 = psql_scan_slash_option(scan_state, OT_NORMAL, NULL, false); - if (!opt0) + if (!opt0 || strcmp(opt0, "commands") == 0) slashUsage(pset.popt.topt.pager); - else if (strcmp(opt0, "variables") == 0) - help_variables(pset.popt.topt.pager); else if (strcmp(opt0, "options") == 0) usage(pset.popt.topt.pager); + else if (strcmp(opt0, "variables") == 0) + helpVariables(pset.popt.topt.pager); else slashUsage(pset.popt.topt.pager); } diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 5e7953d..e0d1d13 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -171,7 +171,7 @@ slashUsage(unsigned short int pager) fprintf(output, _("Help\n")); - fprintf(output, _(" \\? description of all psql commands\n")); + fprintf(output, _(" \\? [commands] description of all psql commands\n")); fprintf(output, _(" \\? options description of psql options\n")); fprintf(output, _(" \\? variables description of all psql configuration variables\n")); fprintf(output, _(" \\h [NAME] help on syntax of SQL commands, * for all commands\n")); @@ -294,10 +294,12 @@ slashUsage(unsigned short int pager) /* - * show list of available variables (options) from command line + * helpVariables + * + * Show list of available variables (options). */ void -help_variables(unsigned short int pager) +helpVariables(unsigned short int pager) { FILE *output; @@ -335,7 +337,7 @@ help_variables(unsigned short int pager) fprintf(output, _(" USER the currently connected database user\n")); fprintf(output, _(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); - fprintf(output, _("\nPrinting options:\n")); + fprintf(output, _("\nDisplay influencing variables:\n")); fprintf(output, _("Usage:\n")); fprintf(output, _(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); diff --git a/src/bin/psql/help.h b/src/bin/psql/help.h index bab360d..3ad374a 100644 --- a/src/bin/psql/help.h +++ b/src/bin/psql/help.h @@ -12,7 +12,7 @@ void usage(unsigned short int pager); void slashUsage(unsigned short int pager); -void help_variables(unsigned short int pager); +void helpVariables(unsigned short int pager); void helpSQL(const char *topic, unsigned short int pager); diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index af68e13..0651588 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -574,7 +574,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) } break; case 1: -help_variables(NOPAGER); +helpVariables(NOPAGER); exit(EXIT_SUCCESS); default: fprintf(stderr, _("Try \"%s --help\" for more information.\n"), diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 7a94fa8..da1b984 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3516,7 +3516,7 @@ psql_completion(const char *text, int start, int end) else if (strcmp(prev_wd, "\\?") == 0) { static const char *const my_list[] = - {"options", "variables", NULL}; + {"commands","options", "variables", NULL}; COMPLETE_WITH_LIST_CS(my_list); } -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Thu, Aug 28, 2014 at 8:20 PM, Andres Freund wrote: > Hi, > > On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote: >> Hi >> >> I chose \? xxx, because it is related to psql features. I wrote commands: >> >> \? options >> \? variables >> >> comments? > > Generall I like it. > > Some stuff I changed: > * I rephrased the sgml changes > * s/Printing options/Display options/. Or maybe "Display influencing > variables"? That makes it clearer why they're listed under > --help-variables. > * I added \? commands as an alias for a plain \? > That way the scheme can sensibly be expanded. > * I renamed help_variables() to be inline with the surrounding functions. > > Stuff I wondered about: > * How about making it --help=variables instead of --help-variables? That > * Do we really need the 'Report bugs to' blurb for --help-variables? > * Since we're not exhaustive about documenting environment variales, do > we really need to document TMPDIR and SHELL? > * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is > for already started statements, and PROMPT3 is for COPY FROM STDIN? > > Looks like it's commitable next round. > > I've attached a incremental patch. ISTM that you failed to attach the right patch. help-variables-10--11.diff contains only one line. Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hi, On 2014-08-27 22:48:54 +0200, Pavel Stehule wrote: > Hi > > I chose \? xxx, because it is related to psql features. I wrote commands: > > \? options > \? variables > > comments? Generall I like it. Some stuff I changed: * I rephrased the sgml changes * s/Printing options/Display options/. Or maybe "Display influencing variables"? That makes it clearer why they're listed under --help-variables. * I added \? commands as an alias for a plain \? That way the scheme can sensibly be expanded. * I renamed help_variables() to be inline with the surrounding functions. Stuff I wondered about: * How about making it --help=variables instead of --help-variables? That * Do we really need the 'Report bugs to' blurb for --help-variables? * Since we're not exhaustive about documenting environment variales, do we really need to document TMPDIR and SHELL? * Shouldn't we document that PROMPT1 is the standard prompt, PROMPT2 is for already started statements, and PROMPT3 is for COPY FROM STDIN? Looks like it's commitable next round. I've attached a incremental patch. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services 0001-help-variables-11.patch -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hi I chose \? xxx, because it is related to psql features. I wrote commands: \? options \? variables comments? Regards Pavel 2014-08-26 13:48 GMT+02:00 Andres Freund : > On 2014-08-26 13:44:16 +0200, Pavel Stehule wrote: > > 2014-08-26 13:30 GMT+02:00 Petr Jelinek : > > > > > On 26/08/14 13:20, Andres Freund wrote: > > > > > >> > > >> I'm looking at committing this, but I wonder: Shouldn't this be > > >> accessible from inside psql as well? I.e. as a backslash command? > > >> > > >> > > > +1 > > > > > > > have you idea about command name? \?+ > > Some ideas: > > \hv > \help-variables > \? set > \? variables > > > Greetings, > > Andres Freund > > -- > Andres Freund http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services > commit 1c00470629f31d61886ff9ae95a6855693f358c8 Author: Pavel Stehule Date: Wed Aug 27 22:47:07 2014 +0200 access to help_variables and usage from psql via psql command diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 74d4618..6d3189d 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -568,6 +568,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + @@ -2572,10 +2581,12 @@ testdb=> \setenv LESS -imx4F -\? +\? [ options | variables ] -Shows help information about the backslash commands. +Shows help information about the backslash commands. This command can have a +option "variables" or "options" to take help for psql configuration variables +or psql command line options. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index e27ff8c..12cbb20 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1503,7 +1503,19 @@ exec_command(const char *cmd, /* \? -- slash command help */ else if (strcmp(cmd, "?") == 0) - slashUsage(pset.popt.topt.pager); + { + char *opt0 = psql_scan_slash_option(scan_state, + OT_NORMAL, NULL, false); + + if (!opt0) + slashUsage(pset.popt.topt.pager); + else if (strcmp(opt0, "variables") == 0) + help_variables(pset.popt.topt.pager); + else if (strcmp(opt0, "options") == 0) + usage(pset.popt.topt.pager); + else + slashUsage(pset.popt.topt.pager); + } #if 0 diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index f8f000f..5e7953d 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -46,11 +46,12 @@ #define ON(var) (var ? _("on") : _("off")) void -usage(void) +usage(unsigned short int pager) { const char *env; const char *user; char *errstr; + FILE *output; /* Find default user, in case we need it. */ user = getenv("PGUSER"); @@ -64,77 +65,82 @@ usage(void) } } - printf(_("psql is the PostgreSQL interactive terminal.\n\n")); - printf(_("Usage:\n")); - printf(_(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); + output = PageOutput(59, pager); + + fprintf(output, _("psql is the PostgreSQL interactive terminal.\n\n")); + fprintf(output, _("Usage:\n")); + fprintf(output, _(" psql [OPTION]... [DBNAME [USERNAME]]\n\n")); - printf(_("General options:\n")); + fprintf(output, _("General options:\n")); /* Display default database */ env = getenv("PGDATABASE"); if (!env) env = user; - printf(_(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n")); - printf(_(" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"), env); - printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); - printf(_(" -l, --list list available databases, then exit\n")); - printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); - printf(_(" -V, --versionoutput version information, then exit\n")); - printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); - printf(_(" -1 (\"one\"), --single-transaction\n" + fprintf(output, _(" -c, --command=COMMANDrun only single command (SQL or internal) and exit\n")); + fprintf(output, _(" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"), env); + fprintf(output, _(" -f, --file=FILENAME execute commands from file, then exit\n")); + fprintf(output, _(" -l, --list list available databases, then exit\n")); + fprintf(output, _(" -v, --set=, --variable=NAME=VALUE\n" + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); + fprintf(output, _(" -V, --versionoutput version information, then exit\n")); + fprintf(output, _(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); + fprintf(output, _(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interact
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-08-26 13:44:16 +0200, Pavel Stehule wrote: > 2014-08-26 13:30 GMT+02:00 Petr Jelinek : > > > On 26/08/14 13:20, Andres Freund wrote: > > > >> > >> I'm looking at committing this, but I wonder: Shouldn't this be > >> accessible from inside psql as well? I.e. as a backslash command? > >> > >> > > +1 > > > > have you idea about command name? \?+ Some ideas: \hv \help-variables \? set \? variables Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-08-26 13:30 GMT+02:00 Petr Jelinek : > On 26/08/14 13:20, Andres Freund wrote: > >> >> I'm looking at committing this, but I wonder: Shouldn't this be >> accessible from inside psql as well? I.e. as a backslash command? >> >> > +1 > have you idea about command name? \?+ Pavel > > > -- > Petr Jelinek http://www.2ndQuadrant.com/ > > PostgreSQL Development, 24x7 Support, Training & Services >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 26/08/14 13:20, Andres Freund wrote: I'm looking at committing this, but I wonder: Shouldn't this be accessible from inside psql as well? I.e. as a backslash command? +1 -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On 2014-06-29 18:54:50 +0530, Abhijit Menon-Sen wrote: > At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote: > > > > Thanks, I marked it as ready for committer. I hope Fujii san or > > another committer will commit this, refining English expression if > > necessary. > > Since it was just a matter of editing, I went through the patch and > corrected various minor errors (typos, awkwardness, etc.). I agree > that this is now ready for committer. > > I've attached the updated diff. I'm looking at committing this, but I wonder: Shouldn't this be accessible from inside psql as well? I.e. as a backslash command? Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Abhijit Menon-Sen wrote: > At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote: > > > > Thanks, I marked it as ready for committer. I hope Fujii san or > > another committer will commit this, refining English expression if > > necessary. > > Since it was just a matter of editing, I went through the patch and > corrected various minor errors (typos, awkwardness, etc.). I agree > that this is now ready for committer. FWIW I think "determines" was correct. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-06-29 15:24 GMT+02:00 Abhijit Menon-Sen : > At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote: > > > > Thanks, I marked it as ready for committer. I hope Fujii san or > > another committer will commit this, refining English expression if > > necessary. > > Since it was just a matter of editing, I went through the patch and > corrected various minor errors (typos, awkwardness, etc.). I agree > that this is now ready for committer. > > I've attached the updated diff. > I checked it, and it looks well Thank you Regards Pavel > > -- Abhijit >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
At 2014-06-29 20:35:04 +0900, maumau...@gmail.com wrote: > > Thanks, I marked it as ready for committer. I hope Fujii san or > another committer will commit this, refining English expression if > necessary. Since it was just a matter of editing, I went through the patch and corrected various minor errors (typos, awkwardness, etc.). I agree that this is now ready for committer. I've attached the updated diff. -- Abhijit diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index ee6ec3a..6a172dc 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -556,6 +556,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..9ff2dd9 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables show a list of all specially treated variables, then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,99 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of specially treated variables.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT if set, successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determine the case used to complete SQL keywords\n" + " [lower, upper, preserve-lower, preserve-upper]\n")); + printf(_(" DBNAME the currently connected database name\n")); + printf(_(" ECHO control what input is written to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDENdisplay internal queries executed by backslash commands\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthe number of result rows to fetch and display at a time\n" + " (default: 0=unlimited)\n")); + printf(_(" HISTCONTROLcontrol history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK if set, an error doesn't stop a transaction (uses implicit SAVEPOINTs)\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT server port of the current connection\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3\n" + " specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP single-step mode (same as -s option)\n")); + printf(_(" USER the currently connected database user\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border border style (number)\n")); + printf(_(" columnsset the target width for the wrapped format\n")); + printf(_(" expanded (or x)toggle expanded output\n")); + printf(_(" fieldsep field separator for unaligned output (default '|')\n")); + printf(_(" fieldsep_zero set field separator in unaligned mode to zero\n")); + printf(_(" format set output format [unaligned,
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-06-29 13:35 GMT+02:00 MauMau : > Thanks, I marked it as ready for committer. I hope Fujii san or another > committer will commit this, refining English expression if necessary. > sure Thank you very much Regards Pavel > > Regards > MauMau > >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Thanks, I marked it as ready for committer. I hope Fujii san or another committer will commit this, refining English expression if necessary. Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hi 2014-06-29 0:48 GMT+02:00 MauMau : > From: "Pavel Stehule" > > I modified description of setting system variables in dependency on O.S. >> > > Thank you, it's almost OK. As mentioned in my previous mail, I think > "determines" should be "determine" to follow other messages. I'll mark > this patch as ready for committer when this is fixed. fixes > > > + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when > completing an SQL key word\n")); > > Personally, I don't think we have to describe how to set environment > variables, because it's preliminary knowledge and not specific to > PostgreSQL. However, I don't mind if you retain or remove the description. > ok Regards Pavel > > Regards > MauMau > > > > commit 44ba9d7fc1816dde4605ef59ea68b92b8ceb1c57 Author: Pavel Stehule Date: Sat Jun 28 14:19:47 2014 +0200 initial diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index ee6ec3a..6a172dc 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -556,6 +556,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..d7da7c3 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables show a list of all specially treated variables, then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,98 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of specially treated variables.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determine which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO control what input can be written to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDENdisplay internal queries executed by backslash commands\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthe number of result rows to fetch and display at a time\n" + " (default: 0=unlimited)\n")); + printf(_(" HISTCONTROLcontrol history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT server port of the current connection\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3\n" + " specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP single-step mode (same as -s option)\n")); + printf(_(" USER the database user currently connected as\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border border style (number)\n")); +
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
From: "Pavel Stehule" I modified description of setting system variables in dependency on O.S. Thank you, it's almost OK. As mentioned in my previous mail, I think "determines" should be "determine" to follow other messages. I'll mark this patch as ready for committer when this is fixed. + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); Personally, I don't think we have to describe how to set environment variables, because it's preliminary knowledge and not specific to PostgreSQL. However, I don't mind if you retain or remove the description. Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello I modified description of setting system variables in dependency on O.S. Regards Pavel 2014-06-27 8:54 GMT+02:00 Pavel Stehule : > Hello > > thank you Peter, so now only setting for MS Windows is missing? > > Regards > > Pavel > > > 2014-06-26 21:57 GMT+02:00 Petr Jelinek : > > Hello, >> >> I went through the patch, seems mostly fine, I adjusted some wording, >> removed the default .pgpass file info since it's not accurate, and replaced >> couple of phrases with (hopefully) more informative ones. >> >> >> -- >> Petr Jelinek http://www.2ndQuadrant.com/ >> >> PostgreSQL Development, 24x7 Support, Training & Services >> > > commit 44ba9d7fc1816dde4605ef59ea68b92b8ceb1c57 Author: Pavel Stehule Date: Sat Jun 28 14:19:47 2014 +0200 initial diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index ee6ec3a..6a172dc 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -556,6 +556,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..d7da7c3 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables show a list of all specially treated variables, then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,98 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of specially treated variables.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO control what input can be written to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDENdisplay internal queries executed by backslash commands\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthe number of result rows to fetch and display at a time\n" + " (default: 0=unlimited)\n")); + printf(_(" HISTCONTROLcontrol history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT server port of the current connection\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3\n" + " specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP single-step mode (same as -s option)\n")); + printf(_(" USER the database user currently connected as\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border border style (number)\n")); + printf(_(" columnsset the target width for the wrapped format\n")); + p
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello thank you Peter, so now only setting for MS Windows is missing? Regards Pavel 2014-06-26 21:57 GMT+02:00 Petr Jelinek : > Hello, > > I went through the patch, seems mostly fine, I adjusted some wording, > removed the default .pgpass file info since it's not accurate, and replaced > couple of phrases with (hopefully) more informative ones. > > > -- > Petr Jelinek http://www.2ndQuadrant.com/ > > PostgreSQL Development, 24x7 Support, Training & Services >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello, I went through the patch, seems mostly fine, I adjusted some wording, removed the default .pgpass file info since it's not accurate, and replaced couple of phrases with (hopefully) more informative ones. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services commit 4d77ccf19ac77dc0f43a58f4d2b74d4aebed871d Author: Pavel Stehule Date: Mon Jun 23 19:38:41 2014 +0200 without comments diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index ee6ec3a..6a172dc 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -556,6 +556,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..1304e1a 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables show a list of all specially treated variables, then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,92 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of specially treated variables.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO control what input can be written to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDENdisplay internal queries executed by backslash commands\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthe number of result rows to fetch and display at a time\n" + " (default: 0=unlimited)\n")); + printf(_(" HISTCONTROLcontrol history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when on, the error doesn't stop transaction (uses implicit SAVEPOINTs)\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT server port of the current connection\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3\n" + " specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP single-step mode (same as -s option)\n")); + printf(_(" USER the database user currently connected as\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border border style (number)\n")); + printf(_(" columnsset the target width for the wrapped format\n")); + printf(_(" expanded (or x)toggle expanded output\n")); + printf(_(" fieldsep field separator for unaligned output (default '|')\n")); + printf(_(" fieldsep_zero set field separator in unaligned mode to zero\n")); + printf(_(" format set output format [unaligned, aligned, wrapped,
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-06-26 15:26 GMT+02:00 MauMau : > Hello, > > From: "Pavel Stehule" > >> fixed >> > > Thank you. All is fine. > > > > should be ""Environment variables". And this section lacks description >>> for Windows, such as: >>> >>> + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME >>> [VALUE] >>> in interactive mode\n\n")); >>> >>> + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); >>> >>> >> ??? - >> > > I meant that how to set environment variables on Windows command prompt is > different from on UNIX/Linux, and the default password file path is also > different on Windows. Do we describe them in this help? > hmm, I'll check it Pavel > > > Lastly, to follow most of your descriptions, "s" at the end of the first > verb in these messages should be removed. For example, use "set" instead > of "sets". > > > + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when > completing an SQL key word\n")); > + printf(_(" columnssets the target width for the wrapped > format\n")); > + printf(_(" linestyle sets the border line drawing style > [ascii, old-ascii, unicode]\n")); > + printf(_(" recordsep specifies the record (line) separator to > use in unaligned output format\n")); > + printf(_(" title sets the table title for any subsequently > printed tables\n")); > > > This is all I noticed in the review. > > > Regards > MauMau > >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello, From: "Pavel Stehule" fixed Thank you. All is fine. should be ""Environment variables". And this section lacks description for Windows, such as: + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] in interactive mode\n\n")); + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); ??? - I meant that how to set environment variables on Windows command prompt is different from on UNIX/Linux, and the default password file path is also different on Windows. Do we describe them in this help? Lastly, to follow most of your descriptions, "s" at the end of the first verb in these messages should be removed. For example, use "set" instead of "sets". + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" columnssets the target width for the wrapped format\n")); + printf(_(" linestyle sets the border line drawing style [ascii, old-ascii, unicode]\n")); + printf(_(" recordsep specifies the record (line) separator to use in unaligned output format\n")); + printf(_(" title sets the table title for any subsequently printed tables\n")); This is all I noticed in the review. Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello Here is next update 2014-06-25 17:17 GMT+02:00 MauMau : > OK, let me help you, though I'm only a Japanese who is never confident in > my English. > > (1) > As Fujii-san pointed out, could you add explanation for --help-variables > in doc/src/sgml/ref/psqlref.sgml? > > > (2) > > + printf(_(" --help-variables list of available configuration > variables (options), then exit\n")); > > should better be: > > + printf(_(" --help-variables show A list of all specially > treated variables, then exit\n")); > > This follows the psql manual page. Similarly, > > + printf(_("List of variables (options) for use from command line.\n")); > > should be: > > + printf(_("List of specially treated variables.\n")); > > > (3) > + printf(_(" ECHO control what input can be writtent to > standard output [all, queries]\n")); > > "writtent" should be "written". "controls" should be "control" like other > options. > > > (4) > + printf(_(" ECHO_HIDDENdisplay internal queries (same as -E > option)\n")); > > should better be: > > + printf(_(" ECHO_HIDDENdisplay internal queries executed by > backslash commands\n")); > > I think "(same as ...)" can be omitted to keep the description short. If > you want to retain it, other variables should also accompany similar > description, such as -a for ECHO. > > > (5) > + printf(_(" FETCH_COUNTfetch many rows at a time (use less > memory) (default 0 unlimited)\n")); > > should better be: > > + printf(_(" FETCH_COUNTthe number of result rows to fetch and > display at a time (default: 0=unlimited)\n")); > > > (6) > + printf(_(" HISTCONTROLwhen set, controls history list > [ignorespace, ignoredups, ignoreboth]\n")); > > should better be: > > + printf(_(" HISTCONTROLcontrol history list [ignorespace, > ignoredups, ignoreboth]\n")); > > > (7) > + printf(_(" USER the database user currently > connected\n")); > > should add "as" at the end: > > + printf(_(" USER the database user currently connected > as\n")); > > > (8) > "Printing options" section lack the following ones described in psql > manual: > > columns > expanded (or x) > footer > numericlocale > tableattr (or T) > fixed > > > (9) > + printf(_("\nEnvironment options:\n")); > > should be ""Environment variables". And this section lacks description > for Windows, such as: > > + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] > in interactive mode\n\n")); > > + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); > ??? - Regards Pavel > > Regards > MauMau > > commit 4d77ccf19ac77dc0f43a58f4d2b74d4aebed871d Author: Pavel Stehule Date: Mon Jun 23 19:38:41 2014 +0200 without comments diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index ee6ec3a..6a172dc 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -556,6 +556,15 @@ EOF + + --help-variables + + + Show help about psql variables, + and exit. + + + diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..1304e1a 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables show a list of all specially treated variables, then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,92 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of specially treated variables.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO control what input can be written
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
OK, let me help you, though I'm only a Japanese who is never confident in my English. (1) As Fujii-san pointed out, could you add explanation for --help-variables in doc/src/sgml/ref/psqlref.sgml? (2) + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); should better be: + printf(_(" --help-variables show A list of all specially treated variables, then exit\n")); This follows the psql manual page. Similarly, + printf(_("List of variables (options) for use from command line.\n")); should be: + printf(_("List of specially treated variables.\n")); (3) + printf(_(" ECHO control what input can be writtent to standard output [all, queries]\n")); "writtent" should be "written". "controls" should be "control" like other options. (4) + printf(_(" ECHO_HIDDENdisplay internal queries (same as -E option)\n")); should better be: + printf(_(" ECHO_HIDDENdisplay internal queries executed by backslash commands\n")); I think "(same as ...)" can be omitted to keep the description short. If you want to retain it, other variables should also accompany similar description, such as -a for ECHO. (5) + printf(_(" FETCH_COUNTfetch many rows at a time (use less memory) (default 0 unlimited)\n")); should better be: + printf(_(" FETCH_COUNTthe number of result rows to fetch and display at a time (default: 0=unlimited)\n")); (6) + printf(_(" HISTCONTROLwhen set, controls history list [ignorespace, ignoredups, ignoreboth]\n")); should better be: + printf(_(" HISTCONTROLcontrol history list [ignorespace, ignoredups, ignoreboth]\n")); (7) + printf(_(" USER the database user currently connected\n")); should add "as" at the end: + printf(_(" USER the database user currently connected as\n")); (8) "Printing options" section lack the following ones described in psql manual: columns expanded (or x) footer numericlocale tableattr (or T) (9) + printf(_("\nEnvironment options:\n")); should be ""Environment variables". And this section lacks description for Windows, such as: + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] in interactive mode\n\n")); + printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello I am sending little bit modified patch by Fujii' comments - but I am not able to fix it more - it is task for someone with better English skill then I have Regards Pavel 2014-06-23 10:02 GMT+02:00 Fujii Masao : > On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule > wrote: > > Hello > > > > third version with Erik's update > > Here are some my comments: > > The document of psql needs to be updated. At least the description of new > option > this patch adds needs to be added into the document. > > +printf(_(" --help-variables list of available > configuration variables (options), then exit\n")); > > We should get rid of "of" from the message, or add "show" in front of > "list of"? > > +printf(_(" ECHO write all input lines to standard > output\n")); > > This message seems not to be correct when ECHO=queries is set. > > +printf(_(" COMP_KEYWORD_CASE determines which letter case to > use when completing an SQL key word\n")); > +printf(_(" DBNAME name of currently connected > database\n")); > +printf(_(" ECHO write all input lines to standard > output\n")); > > I found that some help message line uses a normal form of a verb, but > other does not. > We should standardize them? > > +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); > > When the option name field is long, we should add a new line just > after the name field > and align the starting position of the option explanation field. That is, > for example, the above should be > > printf(_(" PROMPT1, PROMPT2, PROMPT3\n" > " specify the psql prompt\n")); > > +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); > > This message seems incorrect to me. When this option is on and an error > occurs > in transaction, transaction continues rather than ROLLBACK occurs, IIUC. > I did not check whole help messages yet, but ISTM some messages are not > correct. > It's better to check them again. > > +printf(_(" PSQL_RCalternative location of the user's > .psqlrc file\n")); > > Typo: PSQL_RC should be PSQLRC > > +printf(_(" PGDATABASE same as the dbname connection > parameter\n")); > +printf(_(" PGHOST same as the host connection > parameter\n")); > +printf(_(" PGPORT same as the port connection > parameter\n")); > +printf(_(" PGUSER same as the user connection > parameter\n")); > +printf(_(" PGPASSWORD possibility to set password (not > recommended)\n")); > +printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); > > I don't think that psql needs to display the help messages of even > environment > variables supported by libpq. > > Regards, > > -- > Fujii Masao > commit 4d8a267870f15a22818da226f72223db86944636 Author: Pavel Stehule Date: Mon Jun 23 19:38:41 2014 +0200 without comments diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..e960f34 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,84 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of variables (options) for use from command line.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO controls what input can be writtent to standard output [all, queries]\n")); + printf(_(" ECHO_HIDDENdisplay internal queries (same as -E option)\n")); + printf(_(" ENCODING
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-06-23 11:53 GMT+02:00 Fujii Masao : > On Mon, Jun 23, 2014 at 6:06 PM, Pavel Stehule > wrote: > > > > > > > > 2014-06-23 10:57 GMT+02:00 Fujii Masao : > > > >> On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule > > >> wrote: > >> > Hello > >> > > >> > > >> > 2014-06-23 10:02 GMT+02:00 Fujii Masao : > >> > > >> >> On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule > >> >> > >> >> wrote: > >> >> > Hello > >> >> > > >> >> > third version with Erik's update > >> >> > >> >> Here are some my comments: > >> >> > >> >> The document of psql needs to be updated. At least the description of > >> >> new > >> >> option > >> >> this patch adds needs to be added into the document. > >> >> > >> >> +printf(_(" --help-variables list of available > >> >> configuration variables (options), then exit\n")); > >> >> > >> >> We should get rid of "of" from the message, or add "show" in front of > >> >> "list of"? > >> >> > >> >> +printf(_(" ECHO write all input lines to standard > >> >> output\n")); > >> >> > >> >> This message seems not to be correct when ECHO=queries is set. > >> >> > >> >> +printf(_(" COMP_KEYWORD_CASE determines which letter case to > >> >> use when completing an SQL key word\n")); > >> >> +printf(_(" DBNAME name of currently connected > >> >> database\n")); > >> >> +printf(_(" ECHO write all input lines to standard > >> >> output\n")); > >> >> > >> >> I found that some help message line uses a normal form of a verb, but > >> >> other does not. > >> >> We should standardize them? > >> >> > >> >> +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql > >> >> prompt\n")); > >> >> > >> >> When the option name field is long, we should add a new line just > >> >> after the name field > >> >> and align the starting position of the option explanation field. That > >> >> is, > >> >> for example, the above should be > >> >> > >> >> printf(_(" PROMPT1, PROMPT2, PROMPT3\n" > >> >> " specify the psql prompt\n")); > >> >> > >> >> +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); > >> >> > >> >> This message seems incorrect to me. When this option is on and an > error > >> >> occurs > >> >> in transaction, transaction continues rather than ROLLBACK occurs, > >> >> IIUC. > >> >> I did not check whole help messages yet, but ISTM some messages are > not > >> >> correct. > >> >> It's better to check them again. > >> >> > >> >> +printf(_(" PSQL_RCalternative location of the > user's > >> >> .psqlrc file\n")); > >> >> > >> >> Typo: PSQL_RC should be PSQLRC > >> >> > >> >> +printf(_(" PGDATABASE same as the dbname connection > >> >> parameter\n")); > >> >> +printf(_(" PGHOST same as the host connection > >> >> parameter\n")); > >> >> +printf(_(" PGPORT same as the port connection > >> >> parameter\n")); > >> >> +printf(_(" PGUSER same as the user connection > >> >> parameter\n")); > >> >> +printf(_(" PGPASSWORD possibility to set password (not > >> >> recommended)\n")); > >> >> +printf(_(" PGPASSFILE password file (default > >> >> ~/.pgpass)\n")); > >> >> > >> >> I don't think that psql needs to display the help messages of even > >> >> environment > >> >> variables supported by libpq. > >> >> > >> > > >> > Main reason is a PGPASSWORD -- it is probably most used env variable > >> > with > >> > psql > >> > > >> > PGPASSWORD=** psql is very often used pattern > >> > >> But it's not recommended as the help message which the patch added says > ;) > > > > > > why? > > > > who can see this value? > > I'm sure that the document explains this. > ok I am too Linux centrist :( it is safe there and I don't see a others Thank you for info Regards Pavel > > http://www.postgresql.org/docs/devel/static/libpq-envars.html > --- > PGPASSWORD behaves the same as the password connection parameter. > Use of this environment variable is not recommended for security reasons, > as some operating systems allow non-root users to see process environment > variables via ps; instead consider using the ~/.pgpass file > --- > > Regards, > > -- > Fujii Masao >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Mon, Jun 23, 2014 at 6:06 PM, Pavel Stehule wrote: > > > > 2014-06-23 10:57 GMT+02:00 Fujii Masao : > >> On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule >> wrote: >> > Hello >> > >> > >> > 2014-06-23 10:02 GMT+02:00 Fujii Masao : >> > >> >> On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule >> >> >> >> wrote: >> >> > Hello >> >> > >> >> > third version with Erik's update >> >> >> >> Here are some my comments: >> >> >> >> The document of psql needs to be updated. At least the description of >> >> new >> >> option >> >> this patch adds needs to be added into the document. >> >> >> >> +printf(_(" --help-variables list of available >> >> configuration variables (options), then exit\n")); >> >> >> >> We should get rid of "of" from the message, or add "show" in front of >> >> "list of"? >> >> >> >> +printf(_(" ECHO write all input lines to standard >> >> output\n")); >> >> >> >> This message seems not to be correct when ECHO=queries is set. >> >> >> >> +printf(_(" COMP_KEYWORD_CASE determines which letter case to >> >> use when completing an SQL key word\n")); >> >> +printf(_(" DBNAME name of currently connected >> >> database\n")); >> >> +printf(_(" ECHO write all input lines to standard >> >> output\n")); >> >> >> >> I found that some help message line uses a normal form of a verb, but >> >> other does not. >> >> We should standardize them? >> >> >> >> +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql >> >> prompt\n")); >> >> >> >> When the option name field is long, we should add a new line just >> >> after the name field >> >> and align the starting position of the option explanation field. That >> >> is, >> >> for example, the above should be >> >> >> >> printf(_(" PROMPT1, PROMPT2, PROMPT3\n" >> >> " specify the psql prompt\n")); >> >> >> >> +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); >> >> >> >> This message seems incorrect to me. When this option is on and an error >> >> occurs >> >> in transaction, transaction continues rather than ROLLBACK occurs, >> >> IIUC. >> >> I did not check whole help messages yet, but ISTM some messages are not >> >> correct. >> >> It's better to check them again. >> >> >> >> +printf(_(" PSQL_RCalternative location of the user's >> >> .psqlrc file\n")); >> >> >> >> Typo: PSQL_RC should be PSQLRC >> >> >> >> +printf(_(" PGDATABASE same as the dbname connection >> >> parameter\n")); >> >> +printf(_(" PGHOST same as the host connection >> >> parameter\n")); >> >> +printf(_(" PGPORT same as the port connection >> >> parameter\n")); >> >> +printf(_(" PGUSER same as the user connection >> >> parameter\n")); >> >> +printf(_(" PGPASSWORD possibility to set password (not >> >> recommended)\n")); >> >> +printf(_(" PGPASSFILE password file (default >> >> ~/.pgpass)\n")); >> >> >> >> I don't think that psql needs to display the help messages of even >> >> environment >> >> variables supported by libpq. >> >> >> > >> > Main reason is a PGPASSWORD -- it is probably most used env variable >> > with >> > psql >> > >> > PGPASSWORD=** psql is very often used pattern >> >> But it's not recommended as the help message which the patch added says ;) > > > why? > > who can see this value? I'm sure that the document explains this. http://www.postgresql.org/docs/devel/static/libpq-envars.html --- PGPASSWORD behaves the same as the password connection parameter. Use of this environment variable is not recommended for security reasons, as some operating systems allow non-root users to see process environment variables via ps; instead consider using the ~/.pgpass file --- Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
2014-06-23 10:57 GMT+02:00 Fujii Masao : > On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule > wrote: > > Hello > > > > > > 2014-06-23 10:02 GMT+02:00 Fujii Masao : > > > >> On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule < > pavel.steh...@gmail.com> > >> wrote: > >> > Hello > >> > > >> > third version with Erik's update > >> > >> Here are some my comments: > >> > >> The document of psql needs to be updated. At least the description of > new > >> option > >> this patch adds needs to be added into the document. > >> > >> +printf(_(" --help-variables list of available > >> configuration variables (options), then exit\n")); > >> > >> We should get rid of "of" from the message, or add "show" in front of > >> "list of"? > >> > >> +printf(_(" ECHO write all input lines to standard > >> output\n")); > >> > >> This message seems not to be correct when ECHO=queries is set. > >> > >> +printf(_(" COMP_KEYWORD_CASE determines which letter case to > >> use when completing an SQL key word\n")); > >> +printf(_(" DBNAME name of currently connected > >> database\n")); > >> +printf(_(" ECHO write all input lines to standard > >> output\n")); > >> > >> I found that some help message line uses a normal form of a verb, but > >> other does not. > >> We should standardize them? > >> > >> +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql > prompt\n")); > >> > >> When the option name field is long, we should add a new line just > >> after the name field > >> and align the starting position of the option explanation field. That > is, > >> for example, the above should be > >> > >> printf(_(" PROMPT1, PROMPT2, PROMPT3\n" > >> " specify the psql prompt\n")); > >> > >> +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); > >> > >> This message seems incorrect to me. When this option is on and an error > >> occurs > >> in transaction, transaction continues rather than ROLLBACK occurs, IIUC. > >> I did not check whole help messages yet, but ISTM some messages are not > >> correct. > >> It's better to check them again. > >> > >> +printf(_(" PSQL_RCalternative location of the user's > >> .psqlrc file\n")); > >> > >> Typo: PSQL_RC should be PSQLRC > >> > >> +printf(_(" PGDATABASE same as the dbname connection > >> parameter\n")); > >> +printf(_(" PGHOST same as the host connection > >> parameter\n")); > >> +printf(_(" PGPORT same as the port connection > >> parameter\n")); > >> +printf(_(" PGUSER same as the user connection > >> parameter\n")); > >> +printf(_(" PGPASSWORD possibility to set password (not > >> recommended)\n")); > >> +printf(_(" PGPASSFILE password file (default > >> ~/.pgpass)\n")); > >> > >> I don't think that psql needs to display the help messages of even > >> environment > >> variables supported by libpq. > >> > > > > Main reason is a PGPASSWORD -- it is probably most used env variable with > > psql > > > > PGPASSWORD=** psql is very often used pattern > > But it's not recommended as the help message which the patch added says ;) > why? who can see this value? regards Pavel > > Regards, > > -- > Fujii Masao >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Mon, Jun 23, 2014 at 5:10 PM, Pavel Stehule wrote: > Hello > > > 2014-06-23 10:02 GMT+02:00 Fujii Masao : > >> On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule >> wrote: >> > Hello >> > >> > third version with Erik's update >> >> Here are some my comments: >> >> The document of psql needs to be updated. At least the description of new >> option >> this patch adds needs to be added into the document. >> >> +printf(_(" --help-variables list of available >> configuration variables (options), then exit\n")); >> >> We should get rid of "of" from the message, or add "show" in front of >> "list of"? >> >> +printf(_(" ECHO write all input lines to standard >> output\n")); >> >> This message seems not to be correct when ECHO=queries is set. >> >> +printf(_(" COMP_KEYWORD_CASE determines which letter case to >> use when completing an SQL key word\n")); >> +printf(_(" DBNAME name of currently connected >> database\n")); >> +printf(_(" ECHO write all input lines to standard >> output\n")); >> >> I found that some help message line uses a normal form of a verb, but >> other does not. >> We should standardize them? >> >> +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); >> >> When the option name field is long, we should add a new line just >> after the name field >> and align the starting position of the option explanation field. That is, >> for example, the above should be >> >> printf(_(" PROMPT1, PROMPT2, PROMPT3\n" >> " specify the psql prompt\n")); >> >> +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); >> >> This message seems incorrect to me. When this option is on and an error >> occurs >> in transaction, transaction continues rather than ROLLBACK occurs, IIUC. >> I did not check whole help messages yet, but ISTM some messages are not >> correct. >> It's better to check them again. >> >> +printf(_(" PSQL_RCalternative location of the user's >> .psqlrc file\n")); >> >> Typo: PSQL_RC should be PSQLRC >> >> +printf(_(" PGDATABASE same as the dbname connection >> parameter\n")); >> +printf(_(" PGHOST same as the host connection >> parameter\n")); >> +printf(_(" PGPORT same as the port connection >> parameter\n")); >> +printf(_(" PGUSER same as the user connection >> parameter\n")); >> +printf(_(" PGPASSWORD possibility to set password (not >> recommended)\n")); >> +printf(_(" PGPASSFILE password file (default >> ~/.pgpass)\n")); >> >> I don't think that psql needs to display the help messages of even >> environment >> variables supported by libpq. >> > > Main reason is a PGPASSWORD -- it is probably most used env variable with > psql > > PGPASSWORD=** psql is very often used pattern But it's not recommended as the help message which the patch added says ;) Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello 2014-06-23 10:02 GMT+02:00 Fujii Masao : > On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule > wrote: > > Hello > > > > third version with Erik's update > > Here are some my comments: > > The document of psql needs to be updated. At least the description of new > option > this patch adds needs to be added into the document. > > +printf(_(" --help-variables list of available > configuration variables (options), then exit\n")); > > We should get rid of "of" from the message, or add "show" in front of > "list of"? > > +printf(_(" ECHO write all input lines to standard > output\n")); > > This message seems not to be correct when ECHO=queries is set. > > +printf(_(" COMP_KEYWORD_CASE determines which letter case to > use when completing an SQL key word\n")); > +printf(_(" DBNAME name of currently connected > database\n")); > +printf(_(" ECHO write all input lines to standard > output\n")); > > I found that some help message line uses a normal form of a verb, but > other does not. > We should standardize them? > > +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); > > When the option name field is long, we should add a new line just > after the name field > and align the starting position of the option explanation field. That is, > for example, the above should be > > printf(_(" PROMPT1, PROMPT2, PROMPT3\n" > " specify the psql prompt\n")); > > +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); > > This message seems incorrect to me. When this option is on and an error > occurs > in transaction, transaction continues rather than ROLLBACK occurs, IIUC. > I did not check whole help messages yet, but ISTM some messages are not > correct. > It's better to check them again. > > +printf(_(" PSQL_RCalternative location of the user's > .psqlrc file\n")); > > Typo: PSQL_RC should be PSQLRC > > +printf(_(" PGDATABASE same as the dbname connection > parameter\n")); > +printf(_(" PGHOST same as the host connection > parameter\n")); > +printf(_(" PGPORT same as the port connection > parameter\n")); > +printf(_(" PGUSER same as the user connection > parameter\n")); > +printf(_(" PGPASSWORD possibility to set password (not > recommended)\n")); > +printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); > > I don't think that psql needs to display the help messages of even > environment > variables supported by libpq. > > Main reason is a PGPASSWORD -- it is probably most used env variable with psql PGPASSWORD=** psql is very often used pattern Regards Pavel Stehule > Regards, > > -- > Fujii Masao >
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
On Mon, Jun 23, 2014 at 12:04 AM, Pavel Stehule wrote: > Hello > > third version with Erik's update Here are some my comments: The document of psql needs to be updated. At least the description of new option this patch adds needs to be added into the document. +printf(_(" --help-variables list of available configuration variables (options), then exit\n")); We should get rid of "of" from the message, or add "show" in front of "list of"? +printf(_(" ECHO write all input lines to standard output\n")); This message seems not to be correct when ECHO=queries is set. +printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); +printf(_(" DBNAME name of currently connected database\n")); +printf(_(" ECHO write all input lines to standard output\n")); I found that some help message line uses a normal form of a verb, but other does not. We should standardize them? +printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); When the option name field is long, we should add a new line just after the name field and align the starting position of the option explanation field. That is, for example, the above should be printf(_(" PROMPT1, PROMPT2, PROMPT3\n" " specify the psql prompt\n")); +printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); This message seems incorrect to me. When this option is on and an error occurs in transaction, transaction continues rather than ROLLBACK occurs, IIUC. I did not check whole help messages yet, but ISTM some messages are not correct. It's better to check them again. +printf(_(" PSQL_RCalternative location of the user's .psqlrc file\n")); Typo: PSQL_RC should be PSQLRC +printf(_(" PGDATABASE same as the dbname connection parameter\n")); +printf(_(" PGHOST same as the host connection parameter\n")); +printf(_(" PGPORT same as the port connection parameter\n")); +printf(_(" PGUSER same as the user connection parameter\n")); +printf(_(" PGPASSWORD possibility to set password (not recommended)\n")); +printf(_(" PGPASSFILE password file (default ~/.pgpass)\n")); I don't think that psql needs to display the help messages of even environment variables supported by libpq. Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [Fwd: Re: [HACKERS] proposal: new long psql parameter --on-error-stop]
Hello third version with Erik's update Thanks Erik Regards Pavel 2014-06-22 12:01 GMT+02:00 Erik Rijkers : > Hi Pavel, > > It seems you overlooked the patch that I sent? > > There are some typo's in your patch (also in v2) like: > > PROPMPT1, PROPMT2, PROPMPT3 > > SIGLELINE > > I fixed those in my patch and improved the text. > Attached is the diff against your v1 patch > > > Thanks, > > > Erik > > > > > > > > > ---- Original Message > ----------------- > Subject: Re: [HACKERS] proposal: new long psql parameter --on-error-stop > From:"Erik Rijkers" > Date:Sun, June 22, 2014 01:33 > To: "Pavel Stehule" > Cc: "MauMau" > "Andrew Dunstan" > "Tom Lane" > Fabrízio Mello > "PostgreSQL Hackers" > > --- > > On Sun, June 22, 2014 00:10, Pavel Stehule wrote: > > > [help-variables-01.patch ] > > +1. This patch is a very useful improvement, IMHO. > > I edited the text somewhat; and removed some obvious typos. > > thanks, > > Erik Rijkers > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers > commit 2d44ee1f1bf7f7b57e51522dca88b9f55b308e67 Author: Pavel Stehule Date: Sun Jun 22 00:08:24 2014 +0200 show a list of psql internal, psql formatting and system variables used by psql diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..7b026af 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,81 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of variables (options) for use from command line.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO write all input lines to standard output\n")); + printf(_(" ECHO_HIDDENdisplay internal queries (same as -E option)\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthis many rows at a time (use less memory) (default 0 unlimited)\n")); + printf(_(" HISTCONTROLwhen set, controls history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-06-22 9:32 GMT+02:00 MauMau : > From: "Pavel Stehule" > > pg_dumpall aligns all options left with each other, whether they are short >>> or long. >>> >>> -x, --no-privileges do not dump privileges (grant/revoke) >>> --binary-upgrade for use by upgrade utilities only >>> --column-inserts dump data as INSERT commands with column >>> names >>> >>> >> ok >> >> I fixed it >> > > Thank you. I marked this patch as ready for committer. > Thank you very much Pavel > > Regards > MauMau > > >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
From: "Pavel Stehule" pg_dumpall aligns all options left with each other, whether they are short or long. -x, --no-privileges do not dump privileges (grant/revoke) --binary-upgrade for use by upgrade utilities only --column-inserts dump data as INSERT commands with column names ok I fixed it Thank you. I marked this patch as ready for committer. Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-06-22 2:26 GMT+02:00 MauMau : > From: "Pavel Stehule" > > I am not sure in this point. It is aligned left with all long options: >> >> -?, --help show this help, then exit >> --help-variables list of available configuration variables >> (options), then exit >> > > pg_dumpall aligns all options left with each other, whether they are short > or long. > > -x, --no-privileges do not dump privileges (grant/revoke) > --binary-upgrade for use by upgrade utilities only > --column-inserts dump data as INSERT commands with column > names > ok I fixed it Regards Pavel > > Regards > MauMau > > commit e07af2c24cb8ae85ef6b3ec53baf3444bfa27ad3 Author: Pavel Stehule Date: Sun Jun 22 00:08:24 2014 +0200 show a list of psql internal, psql formatting and system variables used by psql diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..59030eb 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,80 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of variables (options) for use from command line.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT when is on, successful SQL command is automatically commited\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME the name of currently connected database\n")); + printf(_(" ECHO all lines from input can be written to standard output\n")); + printf(_(" ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n")); + printf(_(" ENCODING the current client character set encoding\n")); + printf(_(" FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n")); + printf(_(" HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name that be used for store history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically\n")); + printf(_(" ON_ERROR_STOP when is set, then batch execution stop immediately after error\n")); + printf(_(" PORT the database server port to which is currently used\n")); + printf(_(" PROPMPT1, PROPMT2, PROPMPT3 specify a look of psql prompt\n")); + printf(_(" QUIET when is set, run quietly (same as -q option)\n")); + printf(_(" SIGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" SINGLESTEP confirm each query mode (same as -s option)\n")); + printf(_(" USER the database user that are currently connected\n")); + printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); + + printf(_("\nPrinting options:\n")); + printf(_("Usage:\n")); + printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); + + printf(_(" border number of border style\n")); + printf(_(" fieldsep specify field separator for unaligned output\n")); + printf(_(" fieldsep_zero field separator in unaligned mode will be zero\n")); + printf(_(" format set output format [unaligned, aligned, wrapped, html, latex, ..]\n")); + printf(_(" linestyle sets the border line drawing style [asci
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
From: "Pavel Stehule" I am not sure in this point. It is aligned left with all long options: -?, --help show this help, then exit --help-variables list of available configuration variables (options), then exit pg_dumpall aligns all options left with each other, whether they are short or long. -x, --no-privileges do not dump privileges (grant/revoke) --binary-upgrade for use by upgrade utilities only --column-inserts dump data as INSERT commands with column names Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On Sun, June 22, 2014 00:10, Pavel Stehule wrote: > [help-variables-01.patch ] +1. This patch is a very useful improvement, IMHO. I edited the text somewhat; and removed some obvious typos. thanks, Erik Rijkers--- src/bin/psql/help.c.orig 2014-06-22 00:31:55.450860460 +0200 +++ src/bin/psql/help.c 2014-06-22 01:28:23.546375133 +0200 @@ -292,36 +292,36 @@ printf(_("Usage:\n")); printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); - printf(_(" AUTOCOMMIT when is on, successful SQL command is automatically commited\n")); + printf(_(" AUTOCOMMIT successful SQL commands are automatically committed\n")); printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); - printf(_(" DBNAME the name of currently connected database\n")); - printf(_(" ECHO all lines from input can be written to standard output\n")); - printf(_(" ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n")); - printf(_(" ENCODING the current client character set encoding\n")); - printf(_(" FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n")); - printf(_(" HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n")); - printf(_(" HISTFILE file name that be used for store history list\n")); + printf(_(" DBNAME name of currently connected database\n")); + printf(_(" ECHO write all input lines to standard output\n")); + printf(_(" ECHO_HIDDENdisplay internal queries (same as -E option)\n")); + printf(_(" ENCODING current client character set encoding\n")); + printf(_(" FETCH_COUNTthis many rows at a time (use less memory) (default 0 unlimited)\n")); + printf(_(" HISTCONTROLwhen set, controls history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name used to store the history list\n")); printf(_(" HISTSIZE the number of commands to store in the command history\n")); printf(_(" HOST the currently connected database server\n")); printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); printf(_(" LASTOIDthe value of last affected OID\n")); - printf(_(" ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically\n")); - printf(_(" ON_ERROR_STOP when is set, then batch execution stop immediately after error\n")); - printf(_(" PORT the database server port to which is currently used\n")); - printf(_(" PROPMPT1, PROPMT2, PROPMPT3 specify a look of psql prompt\n")); - printf(_(" QUIET when is set, run quietly (same as -q option)\n")); - printf(_(" SIGLELINE end of line terminates SQL command mode (same as -S option)\n")); + printf(_(" ON_ERROR_ROLLBACK when on, ROLLBACK on error\n")); + printf(_(" ON_ERROR_STOP stop batch execution after error\n")); + printf(_(" PORT the database server port\n")); + printf(_(" PROMPT1, PROMPT2, PROMPT3 specify the psql prompt\n")); + printf(_(" QUIET run quietly (same as -q option)\n")); + printf(_(" SINGLELINE end of line terminates SQL command mode (same as -S option)\n")); printf(_(" SINGLESTEP confirm each query mode (same as -s option)\n")); - printf(_(" USER the database user that are currently connected\n")); + printf(_(" USER the database user currently connected\n")); printf(_(" VERBOSITY control verbosity of error reports [default, verbose, terse]\n")); printf(_("\nPrinting options:\n")); printf(_("Usage:\n")); printf(_(" psql --pset=NAME[=VALUE]\n or \\pset NAME [VALUE] in interactive mode\n\n")); - printf(_(" border number of border style\n")); - printf(_(" fieldsep specify field separator for unaligned output\n")); - printf(_(" fieldsep_zero field separator in unaligned mode will be zero\n")); + printf(_(" border border style (number)\n")); + printf(_(" fieldsep field separator for unaligned output (default '|')\n")); + printf(_(" fieldsep_zero set field separator in unaligned mode to zero\n")); printf(_(" format set output format [unaligned, aligned, wrapped, html, latex, ..]\n")); printf(_(" linestyle sets the border line drawing style [ascii, old-ascii, unicode]\n")); printf(_(" null sets the string to be printed in place of a null value\n")); @@ -333,7 +333,7 @@ printf(_("\nEnvironment options:\n")); printf(_("Usage:\n")); - printf(_(" NAME=VALUE, [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] in interactive mode\n\n")); + printf(_(" NAME=VALUE [NAME=VALUE] psql ...\n or \\setenv NAME [VALUE] in interactive mode\n\n")); printf(_(" COLUMNSnumber of columns for wr
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
Hello 2014-06-21 15:51 GMT+02:00 MauMau : > eFrom: "Pavel Stehule" > >> here is a prototype: >> > > The patch applied and built with success. There are a few minor things: > > > (1) > help_variables() lacks description of some variables such as SINGLELINE > and SINGLESTEP. I think this help should list all available variables, > because users may want to know the existence of those missing variables. > Based on this, modify these lines: remove "some" from the first line and > the entire second line. > > + printf(_("List of some variables (options) for use from command > line.\n")); > + printf(_("Complete list you find in psql section in the PostgreSQL > documentation.\n\n")); > > I fixed it > > (2) > The indent is different from other lines. Leave just two spaces at the > beginning of the line. > > + printf(_(" --help-variables list of available configuration > variables (options), then exit\n")); > I am not sure in this point. It is aligned left with all long options: -?, --help show this help, then exit --help-variables list of available configuration variables (options), then exit Input and output options: -a, --echo-all echo all input from script -e, --echo-queries echo commands sent to server -E, --echo-hiddendisplay queries that internal commands generate I am thinking so current implementation has sense. > > > (3) > This change is unnecessary. See src/bin/pg_dumpall.c for similar switches. > > - while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR: > sStT:U:v:VwWxXz?01", > or+ while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR: > sStT:U:v:VwWxXz?001", > fixed > > Regards > MauMau > > updated patch is in attachment Regards Pavel commit 826bd11fb4e9ac4b26cfe2e3702535f6b9527c12 Author: Pavel Stehule Date: Sun Jun 22 00:08:24 2014 +0200 initial diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 3aa3c16..aa11808 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); printf(_("\nInput and output options:\n")); printf(_(" -a, --echo-all echo all input from script\n")); @@ -279,6 +280,80 @@ slashUsage(unsigned short int pager) } +/* + * show list of available variables (options) from command line + */ +void +help_variables(void) +{ + printf(_("List of variables (options) for use from command line.\n")); + + printf(_("psql variables:\n")); + printf(_("Usage:\n")); + printf(_(" psql --set=NAME=VALUE\n or \\set NAME VALUE in interactive mode\n\n")); + + printf(_(" AUTOCOMMIT when is on, successful SQL command is automatically commited\n")); + printf(_(" COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word\n")); + printf(_(" DBNAME the name of currently connected database\n")); + printf(_(" ECHO all lines from input can be written to standard output\n")); + printf(_(" ECHO_HIDDENdisplay queries for internal commands (same as -E option)\n")); + printf(_(" ENCODING the current client character set encoding\n")); + printf(_(" FETCH_COUNThow many rows should be for one page (default 0 unlimited)\n")); + printf(_(" HISTCONTROLwhen is set, control history list [ignorespace, ignoredups, ignoreboth]\n")); + printf(_(" HISTFILE file name that be used for store history list\n")); + printf(_(" HISTSIZE the number of commands to store in the command history\n")); + printf(_(" HOST the currently connected database server\n")); + printf(_(" IGNOREEOF if unset, sending an EOF to interactive session terminates application\n")); + printf(_(" LASTOIDthe value of last affected OID\n")); + printf(_(" ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically\n")); + printf(_(" ON_ERROR_STOP when is set, then batch execution stop immediately after error\n")); + printf(_(" PORT the database server port to which is currently used\n")); + printf(_(" PROPMPT1, PROPMT2, PROPMPT3 specify a look
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
eFrom: "Pavel Stehule" here is a prototype: The patch applied and built with success. There are a few minor things: (1) help_variables() lacks description of some variables such as SINGLELINE and SINGLESTEP. I think this help should list all available variables, because users may want to know the existence of those missing variables. Based on this, modify these lines: remove "some" from the first line and the entire second line. + printf(_("List of some variables (options) for use from command line.\n")); + printf(_("Complete list you find in psql section in the PostgreSQL documentation.\n\n")); (2) The indent is different from other lines. Leave just two spaces at the beginning of the line. + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); (3) This change is unnecessary. See src/bin/pg_dumpall.c for similar switches. - while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VwWxXz?01", or+ while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VwWxXz?001", Regards MauMau -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-03-01 23:53 GMT+01:00 Fabrízio de Royes Mello : > > On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule > wrote: > > > > Hello > > > > here is a prototype: > > > > bash-4.1$ /usr/local/pgsql/bin/psql --help-variables > > List of some variables (options) for use from command line. > > Complete list you find in psql section in the PostgreSQL documentation. > > > > psql variables: > > Usage: > > psql --set=NAME=VALUE > > or \set NAME VALUE in interactive mode > > > > AUTOCOMMIT when is on, successful SQL command is automatically > commited > > COMP_KEYWORD_CASE determines which letter case to use when completing > an SQL key word > > ECHO all lines from input can be written to standard > output > > ECHO_HIDDENdisplay queries for internal commands (same as -E > option) > > FETCH_COUNThow many rows should be for one page (default 0 > unlimited) > > HISTFILE file name that be used for store history list > > HISTSIZE the number of commands to store in the command > history > > ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically > > ON_ERROR_STOP when is set, then batch execution stop immediately > after error > > VERBOSITY control verbosity of error reports [default, > verbose, terse] > > > > Printing options: > > Usage: > > psql --pset=NAME[=VALUE] > > or \pset NAME [VALUE] in interactive mode > > > > border number of border style > > fieldsep specify field separator for unaligned output > > fieldsep_zero field separator in unaligned mode will be zero > > format set output format [unaligned, aligned, wrapped, > html, latex, ..] > > linestyle sets the border line drawing style [ascii, > old-ascii, unicode] > > null sets the string to be printed in place of a null > value > > pager when the pager option is off, the pager program is > not used > > recordsep specifies the record (line) separator to use in > unaligned output format > > recordsep_zero record separator be in unaligned output format a > zero byte > > title sets the table title for any subsequently printed > tables > > tuples_onlyin tuples-only mode, only actual table data is shown > > > > Environment options: > > Usage: > > NAME=VALUE, [NAME=VALUE] psql ... > > or \setenv NAME [VALUE] in interactive mode > > > > COLUMNSnumber of columns for wrapped format > > PAGER used pager > > PGHOST same as the host connection parameter > > PGDATABASE same as the dbname connection parameter > > PGUSER same as the user connection parameter > > PGPASSWORD possibility to set password > > PSQL_EDITOR, EDITOR, VISUAL editor used by \e \ef commands > > PSQL_EDITOR_LINE_NUMBER_ARG style how to line number is used in editor > > PSQL_HISTORY alternative location for the command history file > > PSQL_RCalternative location of the user's .psqlrc file > > SHELL command executed by the \! command > > TMPDIR directory for storing temporary files > > > > For more information consult the psql section in the PostgreSQL > > documentation. > > > > The patch is ok (apply to master and apply to master without errors). > > Maybe we must show the possible values for each variable/option too. > Not all options are writeable - and too long option list should be less readable - It should not to supply documentation > > Thinking more about it, would be nice if we have the possibility to show > help for commands too. Some like that: > This can be implemented as alias probably, so it is not necessary - but I agree, so it is interesting and valid idea Regards Pavel > > $ psql -H vacuum > Command: VACUUM > Description: garbage-collect and optionally analyze a database > Syntax: > VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name > [ (column_name [, ...] ) ] ] > VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ] > VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name > [, ...] ) ] ] > > $ psql --help-command=vacuum > Command: VACUUM > Description: garbage-collect and optionally analyze a database > Syntax: > VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name > [ (column_name [, ...] ) ] ] > VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ] > VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name > [, ...] ) ] ] > > It's only an idea that occurred to me reading this thread! > > Grettings, > > -- > Fabrízio de Royes Mello > Consultoria/Coaching PostgreSQL > >> Timbira: http://www.timbira.com.br > >> Blog sobre TI: http://fabriziomello.blogspot.com > >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello > >> Twitter: http://twitter.com/fabriziomello >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule wrote: > > Hello > > here is a prototype: > > bash-4.1$ /usr/local/pgsql/bin/psql --help-variables > List of some variables (options) for use from command line. > Complete list you find in psql section in the PostgreSQL documentation. > > psql variables: > Usage: > psql --set=NAME=VALUE > or \set NAME VALUE in interactive mode > > AUTOCOMMIT when is on, successful SQL command is automatically commited > COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word > ECHO all lines from input can be written to standard output > ECHO_HIDDENdisplay queries for internal commands (same as -E option) > FETCH_COUNThow many rows should be for one page (default 0 unlimited) > HISTFILE file name that be used for store history list > HISTSIZE the number of commands to store in the command history > ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically > ON_ERROR_STOP when is set, then batch execution stop immediately after error > VERBOSITY control verbosity of error reports [default, verbose, terse] > > Printing options: > Usage: > psql --pset=NAME[=VALUE] > or \pset NAME [VALUE] in interactive mode > > border number of border style > fieldsep specify field separator for unaligned output > fieldsep_zero field separator in unaligned mode will be zero > format set output format [unaligned, aligned, wrapped, html, latex, ..] > linestyle sets the border line drawing style [ascii, old-ascii, unicode] > null sets the string to be printed in place of a null value > pager when the pager option is off, the pager program is not used > recordsep specifies the record (line) separator to use in unaligned output format > recordsep_zero record separator be in unaligned output format a zero byte > title sets the table title for any subsequently printed tables > tuples_onlyin tuples-only mode, only actual table data is shown > > Environment options: > Usage: > NAME=VALUE, [NAME=VALUE] psql ... > or \setenv NAME [VALUE] in interactive mode > > COLUMNSnumber of columns for wrapped format > PAGER used pager > PGHOST same as the host connection parameter > PGDATABASE same as the dbname connection parameter > PGUSER same as the user connection parameter > PGPASSWORD possibility to set password > PSQL_EDITOR, EDITOR, VISUAL editor used by \e \ef commands > PSQL_EDITOR_LINE_NUMBER_ARG style how to line number is used in editor > PSQL_HISTORY alternative location for the command history file > PSQL_RCalternative location of the user's .psqlrc file > SHELL command executed by the \! command > TMPDIR directory for storing temporary files > > For more information consult the psql section in the PostgreSQL > documentation. > The patch is ok (apply to master and apply to master without errors). Maybe we must show the possible values for each variable/option too. Thinking more about it, would be nice if we have the possibility to show help for commands too. Some like that: $ psql -H vacuum Command: VACUUM Description: garbage-collect and optionally analyze a database Syntax: VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name [ (column_name [, ...] ) ] ] VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ] VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name [, ...] ) ] ] $ psql --help-command=vacuum Command: VACUUM Description: garbage-collect and optionally analyze a database Syntax: VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name [ (column_name [, ...] ) ] ] VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ] VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name [, ...] ) ] ] It's only an idea that occurred to me reading this thread! Grettings, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL >> Timbira: http://www.timbira.com.br >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello >> Twitter: http://twitter.com/fabriziomello
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
Hello here is a prototype: bash-4.1$ /usr/local/pgsql/bin/psql --help-variables List of some variables (options) for use from command line. Complete list you find in psql section in the PostgreSQL documentation. psql variables: Usage: psql --set=NAME=VALUE or \set NAME VALUE in interactive mode AUTOCOMMIT when is on, successful SQL command is automatically commited COMP_KEYWORD_CASE determines which letter case to use when completing an SQL key word ECHO all lines from input can be written to standard output ECHO_HIDDENdisplay queries for internal commands (same as -E option) FETCH_COUNThow many rows should be for one page (default 0 unlimited) HISTFILE file name that be used for store history list HISTSIZE the number of commands to store in the command history ON_ERROR_ROLLBACK when is on, raise ROLLBACK on error automatically ON_ERROR_STOP when is set, then batch execution stop immediately after error VERBOSITY control verbosity of error reports [default, verbose, terse] Printing options: Usage: psql --pset=NAME[=VALUE] or \pset NAME [VALUE] in interactive mode border number of border style fieldsep specify field separator for unaligned output fieldsep_zero field separator in unaligned mode will be zero format set output format [unaligned, aligned, wrapped, html, latex, ..] linestyle sets the border line drawing style [ascii, old-ascii, unicode] null sets the string to be printed in place of a null value pager when the pager option is off, the pager program is not used recordsep specifies the record (line) separator to use in unaligned output format recordsep_zero record separator be in unaligned output format a zero byte title sets the table title for any subsequently printed tables tuples_onlyin tuples-only mode, only actual table data is shown Environment options: Usage: NAME=VALUE, [NAME=VALUE] psql ... or \setenv NAME [VALUE] in interactive mode COLUMNSnumber of columns for wrapped format PAGER used pager PGHOST same as the host connection parameter PGDATABASE same as the dbname connection parameter PGUSER same as the user connection parameter PGPASSWORD possibility to set password PSQL_EDITOR, EDITOR, VISUAL editor used by \e \ef commands PSQL_EDITOR_LINE_NUMBER_ARG style how to line number is used in editor PSQL_HISTORY alternative location for the command history file PSQL_RCalternative location of the user's .psqlrc file SHELL command executed by the \! command TMPDIR directory for storing temporary files For more information consult the psql section in the PostgreSQL documentation. Regards Pavel 2014-02-28 23:01 GMT+01:00 Andrew Dunstan : > > On 02/28/2014 04:38 PM, Tom Lane wrote: > >> Andrew Dunstan writes: >> >>> Well, then we just have to add more info to --help >>> +1 for at least doing that. I found it annoying just the other day not >>> to find it in plsql's --help output, in a moment of brain fade when I >>> forgot how to spell it. So it's not just beginners who can benefit, it's >>> people like me whose memory occasionally goes awry. >>> >> No objection in principle, but what are we talking about exactly? >> Adding some new backslash command that lists all the variables that have >> special meanings? >> > > > That's a pretty good idea, especially if we give that command a command > line option too, so something like > >psql --special-variables > > would run that command and exit. > > Maybe I'm over-egging the pudding a bit ;-) > > cheers > > andrew > commit 82a6a61a11bdb76c00481abeccff42b4b532762e Author: Pavel Stehule Date: Sat Mar 1 09:34:47 2014 +0100 initial diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index baa9417..fb77132 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -78,12 +78,13 @@ usage(void) printf(_(" -f, --file=FILENAME execute commands from file, then exit\n")); printf(_(" -l, --list list available databases, then exit\n")); printf(_(" -v, --set=, --variable=NAME=VALUE\n" - " set psql variable NAME to VALUE\n")); + " set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1\n")); printf(_(" -V, --versionoutput version information, then exit\n")); printf(_(" -X, --no-psqlrc do not read startup file (~/.psqlrc)\n")); printf(_(" -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n")); printf(_(" -?, --help show this help, then exit\n")); + printf(_(" --help-variables list of available configuration variables (options), then exit\n")); pri
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 22:52 GMT+01:00 Erik Rijkers : > e.g.: -v ON_ERROR_STOP=1 I checked it and it is not the most long line there, so it can be a good solution. Pavel
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 23:01 GMT+01:00 Andrew Dunstan : > > On 02/28/2014 04:38 PM, Tom Lane wrote: > >> Andrew Dunstan writes: >> >>> Well, then we just have to add more info to --help >>> +1 for at least doing that. I found it annoying just the other day not >>> to find it in plsql's --help output, in a moment of brain fade when I >>> forgot how to spell it. So it's not just beginners who can benefit, it's >>> people like me whose memory occasionally goes awry. >>> >> No objection in principle, but what are we talking about exactly? >> Adding some new backslash command that lists all the variables that have >> special meanings? >> > > > That's a pretty good idea, especially if we give that command a command > line option too, so something like > >psql --special-variables > > would run that command and exit. > it can be second one option. Pavel > > Maybe I'm over-egging the pudding a bit ;-) > > cheers > > andrew >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On 02/28/2014 04:38 PM, Tom Lane wrote: Andrew Dunstan writes: Well, then we just have to add more info to --help +1 for at least doing that. I found it annoying just the other day not to find it in plsql's --help output, in a moment of brain fade when I forgot how to spell it. So it's not just beginners who can benefit, it's people like me whose memory occasionally goes awry. No objection in principle, but what are we talking about exactly? Adding some new backslash command that lists all the variables that have special meanings? That's a pretty good idea, especially if we give that command a command line option too, so something like psql --special-variables would run that command and exit. Maybe I'm over-egging the pudding a bit ;-) cheers andrew -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 22:52 GMT+01:00 Erik Rijkers : > On Fri, February 28, 2014 22:38, Tom Lane wrote: > > Andrew Dunstan writes: > >>> Well, then we just have to add more info to --help > > > >> +1 for at least doing that. I found it annoying just the other day not > >> to find it in plsql's --help output, in a moment of brain fade when I > >> forgot how to spell it. So it's not just beginners who can benefit, it's > >> people like me whose memory occasionally goes awry. > > > > No objection in principle, but what are we talking about exactly? > > Adding some new backslash command that lists all the variables that have > > special meanings? I'm not sure that the main --help output is the place > > for this, because that only covers psql's command line switches (and > > is plenty long enough already). > > > > regards, tom lane > > Perhaps this compromise: > > -v, --set=, --variable=NAME=VALUE >set psql variable NAME to VALUE e.g.: -v > ON_ERROR_STOP=1 > can be > > this would not lengthen and not broaden the output of psql --help > > > >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On Fri, February 28, 2014 22:38, Tom Lane wrote: > Andrew Dunstan writes: >>> Well, then we just have to add more info to --help > >> +1 for at least doing that. I found it annoying just the other day not >> to find it in plsql's --help output, in a moment of brain fade when I >> forgot how to spell it. So it's not just beginners who can benefit, it's >> people like me whose memory occasionally goes awry. > > No objection in principle, but what are we talking about exactly? > Adding some new backslash command that lists all the variables that have > special meanings? I'm not sure that the main --help output is the place > for this, because that only covers psql's command line switches (and > is plenty long enough already). > > regards, tom lane Perhaps this compromise: -v, --set=, --variable=NAME=VALUE set psql variable NAME to VALUE e.g.: -v ON_ERROR_STOP=1 this would not lengthen and not broaden the output of psql --help -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 22:38 GMT+01:00 Tom Lane : > Andrew Dunstan writes: > >> Well, then we just have to add more info to --help > > > +1 for at least doing that. I found it annoying just the other day not > > to find it in plsql's --help output, in a moment of brain fade when I > > forgot how to spell it. So it's not just beginners who can benefit, it's > > people like me whose memory occasionally goes awry. > > No objection in principle, but what are we talking about exactly? > Adding some new backslash command that lists all the variables that have > special meanings? I'm not sure that the main --help output is the place > for this, because that only covers psql's command line switches (and > is plenty long enough already). > Hard to say - a special long option in "General option" can be clean. or new section "Tips" Tips: -v ON_ERROR_STOP=1 stops on first error > > regards, tom lane >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
Andrew Dunstan writes: >> Well, then we just have to add more info to --help > +1 for at least doing that. I found it annoying just the other day not > to find it in plsql's --help output, in a moment of brain fade when I > forgot how to spell it. So it's not just beginners who can benefit, it's > people like me whose memory occasionally goes awry. No objection in principle, but what are we talking about exactly? Adding some new backslash command that lists all the variables that have special meanings? I'm not sure that the main --help output is the place for this, because that only covers psql's command line switches (and is plenty long enough already). regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On 02/28/2014 01:27 PM, Pavel Stehule wrote: > > three chars is not important > > important is a placing in --help output > Well, then we just have to add more info to --help it can be solution +1 for at least doing that. I found it annoying just the other day not to find it in plsql's --help output, in a moment of brain fade when I forgot how to spell it. So it's not just beginners who can benefit, it's people like me whose memory occasionally goes awry. cheers andrew -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 19:55 GMT+01:00 Fabrízio de Royes Mello : > > On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera > wrote: > > > > Fabrízio de Royes Mello escribió: > > > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule < > pavel.steh...@gmail.com> > > > wrote: > > > > > > important is a placing in --help output > > > > > > Well, then we just have to add more info to --help > > > > I think psql could do with some lines for the possible options for > > --pset (14) and --variable (13). Not sure how to do that without having > > it become too cumbersome while not hiding useful variables. > > > > Maybe by adding something like "--help-pset" and "--help-variables". > I dislike it - I afraid so I know too much users, where --help-pset or --help-variables is too high expert level. --help is a maximum, what they can do - and you should not use a strange terminology like "variables". Regards Pavel > > > Regards, > > -- > Fabrízio de Royes Mello > Consultoria/Coaching PostgreSQL > >> Timbira: http://www.timbira.com.br > >> Blog sobre TI: http://fabriziomello.blogspot.com > >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello > >> Twitter: http://twitter.com/fabriziomello >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera wrote: > > Fabrízio de Royes Mello escribió: > > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule > > wrote: > > > > important is a placing in --help output > > > > Well, then we just have to add more info to --help > > I think psql could do with some lines for the possible options for > --pset (14) and --variable (13). Not sure how to do that without having > it become too cumbersome while not hiding useful variables. > Maybe by adding something like "--help-pset" and "--help-variables". Regards, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL >> Timbira: http://www.timbira.com.br >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello >> Twitter: http://twitter.com/fabriziomello
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
Fabrízio de Royes Mello escribió: > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule > wrote: > > important is a placing in --help output > > Well, then we just have to add more info to --help I think psql could do with some lines for the possible options for --pset (14) and --variable (13). Not sure how to do that without having it become too cumbersome while not hiding useful variables. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 19:25 GMT+01:00 Fabrízio de Royes Mello : > > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule > wrote: > > > > 2014-02-28 19:13 GMT+01:00 Tom Lane : > > > >> Pavel Stehule writes: > >> > for beginners is relative difficult to set psql variable from command > line > >> > and option > >> > -v ON_ERROR_STOP=1 is little bit unclean. > >> > and for any user it is not comfortable. So I propose a new psql option > >> > --on-error-stop > >> > >> That saves a whole three characters ... not sure it's really worth it, > >> especially since it will not work on older versions. > >> > >> Also, it's not like this will save people from having to know about the > >> ON_ERROR_STOP variable, because there will still be plenty of contexts > >> where they need to know that (eg, inspecting the setting or changing it > >> mid-session). So I don't buy the argument that this simplifies what > >> beginners need to learn. > > > > > > three chars is not important > > > > important is a placing in --help output > > > > Well, then we just have to add more info to --help > it can be solution Pavel > > Regards, > > -- > Fabrízio de Royes Mello > Consultoria/Coaching PostgreSQL > >> Timbira: http://www.timbira.com.br > >> Blog sobre TI: http://fabriziomello.blogspot.com > >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello > >> Twitter: http://twitter.com/fabriziomello >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule wrote: > > 2014-02-28 19:13 GMT+01:00 Tom Lane : > >> Pavel Stehule writes: >> > for beginners is relative difficult to set psql variable from command line >> > and option >> > -v ON_ERROR_STOP=1 is little bit unclean. >> > and for any user it is not comfortable. So I propose a new psql option >> > --on-error-stop >> >> That saves a whole three characters ... not sure it's really worth it, >> especially since it will not work on older versions. >> >> Also, it's not like this will save people from having to know about the >> ON_ERROR_STOP variable, because there will still be plenty of contexts >> where they need to know that (eg, inspecting the setting or changing it >> mid-session). So I don't buy the argument that this simplifies what >> beginners need to learn. > > > three chars is not important > > important is a placing in --help output > Well, then we just have to add more info to --help Regards, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL >> Timbira: http://www.timbira.com.br >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello >> Twitter: http://twitter.com/fabriziomello
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
2014-02-28 19:13 GMT+01:00 Tom Lane : > Pavel Stehule writes: > > for beginners is relative difficult to set psql variable from command > line > > and option > > -v ON_ERROR_STOP=1 is little bit unclean. > > and for any user it is not comfortable. So I propose a new psql option > > --on-error-stop > > That saves a whole three characters ... not sure it's really worth it, > especially since it will not work on older versions. > > Also, it's not like this will save people from having to know about the > ON_ERROR_STOP variable, because there will still be plenty of contexts > where they need to know that (eg, inspecting the setting or changing it > mid-session). So I don't buy the argument that this simplifies what > beginners need to learn. > three chars is not important important is a placing in --help output Regards Pavel > > regards, tom lane >
Re: [HACKERS] proposal: new long psql parameter --on-error-stop
Pavel Stehule writes: > for beginners is relative difficult to set psql variable from command line > and option > -v ON_ERROR_STOP=1 is little bit unclean. > and for any user it is not comfortable. So I propose a new psql option > --on-error-stop That saves a whole three characters ... not sure it's really worth it, especially since it will not work on older versions. Also, it's not like this will save people from having to know about the ON_ERROR_STOP variable, because there will still be plenty of contexts where they need to know that (eg, inspecting the setting or changing it mid-session). So I don't buy the argument that this simplifies what beginners need to learn. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] proposal: new long psql parameter --on-error-stop
Hello for beginners is relative difficult to set psql variable from command line and option -v ON_ERROR_STOP=1 is little bit unclean. and for any user it is not comfortable. So I propose a new psql option --on-error-stop It is clean, and it will be mentioned in psql --help. Comments, ideas? Regards Pavel