Thread: proposal: new long psql parameter --on-error-stop

proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:
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

Re: proposal: new long psql parameter --on-error-stop

From
Tom Lane
Date:
Pavel Stehule <pavel.stehule@gmail.com> 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



Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 19:13 GMT+01:00 Tom Lane <tgl@sss.pgh.pa.us>:
Pavel Stehule <pavel.stehule@gmail.com> 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: proposal: new long psql parameter --on-error-stop

From
Fabrízio de Royes Mello
Date:
<div dir="ltr"><div class="gmail_extra"><br />On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule <<a
href="mailto:pavel.stehule@gmail.com">pavel.stehule@gmail.com</a>>wrote:<br />><br />> 2014-02-28 19:13
GMT+01:00Tom Lane <<a href="mailto:tgl@sss.pgh.pa.us">tgl@sss.pgh.pa.us</a>>:<br /> ><br />>> Pavel
Stehule<<a href="mailto:pavel.stehule@gmail.com">pavel.stehule@gmail.com</a>> writes:<br />>> > for
beginnersis relative difficult to set psql variable from command line<br />>> > and option<br /> >> >
-vON_ERROR_STOP=1 is little bit unclean.<br />>> > and for any user it is not comfortable. So I propose a new
psqloption<br />>> > --on-error-stop<br />>><br />>> That saves a whole three characters ... not
sureit's really worth it,<br /> >> especially since it will not work on older versions.<br />>><br
/>>>Also, it's not like this will save people from having to know about the<br />>> ON_ERROR_STOP variable,
becausethere will still be plenty of contexts<br /> >> where they need to know that (eg, inspecting the setting
orchanging it<br />>> mid-session).  So I don't buy the argument that this simplifies what<br />>>
beginnersneed to learn.<br />><br />><br /> > three chars is not important<br />><br />> important is a
 placingin --help output<br />><br /><br /></div><div class="gmail_extra">Well, then we just have to add more info
to--help<br /></div><div class="gmail_extra"><br /></div><div class="gmail_extra">Regards,<br /></div><div
class="gmail_extra"><br/>--<br />Fabrízio de Royes Mello<br />Consultoria/Coaching PostgreSQL<br />>> Timbira: <a
href="http://www.timbira.com.br">http://www.timbira.com.br</a><br/> >> Blog sobre TI: <a
href="http://fabriziomello.blogspot.com">http://fabriziomello.blogspot.com</a><br/>>> Perfil Linkedin: <a
href="http://br.linkedin.com/in/fabriziomello">http://br.linkedin.com/in/fabriziomello</a><br/> >> Twitter: <a
href="http://twitter.com/fabriziomello">http://twitter.com/fabriziomello</a></div></div>

Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 19:25 GMT+01:00 Fabrízio de Royes Mello <fabriziomello@gmail.com>:

On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>
> 2014-02-28 19:13 GMT+01:00 Tom Lane <tgl@sss.pgh.pa.us>:
>
>> Pavel Stehule <pavel.stehule@gmail.com> 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: proposal: new long psql parameter --on-error-stop

From
Alvaro Herrera
Date:
Fabrízio de Royes Mello escribió:
> On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule <pavel.stehule@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.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



Re: proposal: new long psql parameter --on-error-stop

From
Fabrízio de Royes Mello
Date:

On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
>
> Fabrízio de Royes Mello escribió:
> > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule <pavel.stehule@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".

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: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 19:55 GMT+01:00 Fabrízio de Royes Mello <fabriziomello@gmail.com>:

On Fri, Feb 28, 2014 at 3:44 PM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
>
> Fabrízio de Royes Mello escribió:
> > On Fri, Feb 28, 2014 at 3:17 PM, Pavel Stehule <pavel.stehule@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: proposal: new long psql parameter --on-error-stop

From
Andrew Dunstan
Date:
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



Re: proposal: new long psql parameter --on-error-stop

From
Tom Lane
Date:
Andrew Dunstan <andrew@dunslane.net> 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



Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 22:38 GMT+01:00 Tom Lane <tgl@sss.pgh.pa.us>:
Andrew Dunstan <andrew@dunslane.net> 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: proposal: new long psql parameter --on-error-stop

From
"Erik Rijkers"
Date:
On Fri, February 28, 2014 22:38, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> 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






Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 22:52 GMT+01:00 Erik Rijkers <er@xs4all.nl>:
On Fri, February 28, 2014 22:38, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> 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: proposal: new long psql parameter --on-error-stop

From
Andrew Dunstan
Date:
On 02/28/2014 04:38 PM, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> 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



Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-02-28 23:01 GMT+01:00 Andrew Dunstan <andrew@dunslane.net>:

On 02/28/2014 04:38 PM, Tom Lane wrote:
Andrew Dunstan <andrew@dunslane.net> 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: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:
<div dir="ltr"><div class="gmail_extra"><br /><div class="gmail_quote">2014-02-28 22:52 GMT+01:00 Erik Rijkers <span
dir="ltr"><<ahref="mailto:er@xs4all.nl" target="_blank">er@xs4all.nl</a>></span>:<br /><blockquote
class="gmail_quote"style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> e.g.: -v
ON_ERROR_STOP=1</blockquote></div><br/><br /></div><div class="gmail_extra">I checked it and it is not the most long
linethere, so it can be a good solution.<br /><br /></div><div class="gmail_extra">Pavel<br /></div></div> 

Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:
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_HIDDEN        display queries for internal commands (same as -E option)
  FETCH_COUNT        how 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_only        in tuples-only mode, only actual table data is shown

Environment options:
Usage:
  NAME=VALUE, [NAME=VALUE] psql ...
  or \setenv NAME [VALUE] in interactive mode

  COLUMNS            number 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_RC            alternative 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 <andrew@dunslane.net>:

On 02/28/2014 04:38 PM, Tom Lane wrote:
Andrew Dunstan <andrew@dunslane.net> 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

Attachment

Re: proposal: new long psql parameter --on-error-stop

From
Fabrízio de Royes Mello
Date:

On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule <pavel.stehule@gmail.com> 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_HIDDEN        display queries for internal commands (same as -E option)
>   FETCH_COUNT        how 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_only        in tuples-only mode, only actual table data is shown
>
> Environment options:
> Usage:
>   NAME=VALUE, [NAME=VALUE] psql ...
>   or \setenv NAME [VALUE] in interactive mode
>
>   COLUMNS            number 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_RC            alternative 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: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-03-01 23:53 GMT+01:00 Fabrízio de Royes Mello <fabriziomello@gmail.com>:

On Sat, Mar 1, 2014 at 5:37 AM, Pavel Stehule <pavel.stehule@gmail.com> 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_HIDDEN        display queries for internal commands (same as -E option)
>   FETCH_COUNT        how 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_only        in tuples-only mode, only actual table data is shown
>
> Environment options:
> Usage:
>   NAME=VALUE, [NAME=VALUE] psql ...
>   or \setenv NAME [VALUE] in interactive mode
>
>   COLUMNS            number 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_RC            alternative 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: proposal: new long psql parameter --on-error-stop

From
"MauMau"
Date:
eFrom: "Pavel Stehule" <pavel.stehule@gmail.com>
> 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




Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:
Hello


2014-06-21 15:51 GMT+02:00 MauMau <maumau307@gmail.com>:
eFrom: "Pavel Stehule" <pavel.stehule@gmail.com>
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-hidden        display 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
Attachment

Re: proposal: new long psql parameter --on-error-stop

From
"Erik Rijkers"
Date:
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
Attachment

Re: proposal: new long psql parameter --on-error-stop

From
"MauMau"
Date:
From: "Pavel Stehule" <pavel.stehule@gmail.com>
> 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
utilitiesonly --column-inserts             dump data as INSERT commands with column 
 
names

Regards
MauMau




Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-06-22 2:26 GMT+02:00 MauMau <maumau307@gmail.com>:
From: "Pavel Stehule" <pavel.stehule@gmail.com>

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


Attachment

Re: proposal: new long psql parameter --on-error-stop

From
"MauMau"
Date:
From: "Pavel Stehule" <pavel.stehule@gmail.com>
>> 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





Re: proposal: new long psql parameter --on-error-stop

From
Pavel Stehule
Date:



2014-06-22 9:32 GMT+02:00 MauMau <maumau307@gmail.com>:
From: "Pavel Stehule" <pavel.stehule@gmail.com>

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