| From: | Ian Barwick <barwick(at)gmx(dot)net> | 
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | psql and output from \? | 
| Date: | 2002-02-25 23:13:14 | 
| Message-ID: | 200202252313.AAA17377@post.webmailer.de | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
First off:
  This is a suggestion for minor changes to the output generated by the \?
  command in psql. While it is more of a documentation issue, it would
  involve changing code (well, a few strings) - is this the right place for
  raising the subject? I would be happy to submit a patch if the changes are
  acceptable.
Background:
  In psql the \? command shows a summary of the available "slash" commands.
  The syntax shown is however not always consistent (neither with the \?
  command output nor with the psql manpage); eg.:
"\cd [DIRNAME] change the current working directory"
implies that provision of a parameter is optional (correct), whereas
"\C TITLE set table title"
  implies that a title parameter is required. This is not in fact the case,
  as executing \C without a parameter will unset any title previously set
  with the same command. This behaviour is however correctly
  documented in the manpage, which also shows the
  command syntax as "\C [ title ]".
Similar is true of the following slash commands: \d \e \f \g \s \T
Solution:
  Appended is a list of relevant backslash commands, their current
  description as produced by  \?, the respective manpage description (or
  first part thereof) and suggested replacment for the \? description.
  Assumption is that square brackets - as used elsewhere within the 
  \? output and the manpage documentation - imply optional parameters.
Yours pedantically
Ian Barwick
Suggestions follow:
\C
-----------------------------------------------------------------------
psql \?:
\C TITLE       set table title
man:
\C [ title ]
        Set the title of any tables being  printed  as  the
        result  of  a  query  or unset any such title. (...)
psql \? new:
\C [ TITLE ]  set table title (or unset with no arguments)
\d
-----------------------------------------------------------------------
psql \?:
\d TABLE       describe table (or view, index, sequence)
man:
\d relation
        Shows all columns of relation  (which  could  be  a
        table,  view, index, or sequence), (...)
psql \? new:
\d [ RELATION ] describe relation (table, view, index or sequence)
\e
-----------------------------------------------------------------------
psql \?:
\e FILENAME    edit the current query buffer or file with external editor
man
\edit (or \e) [ filename ]
        If filename is specified, the file is edited; (...)
psql \? new:
\e [ FILENAME ]  edit the current query buffer or file with external editor
\f
-----------------------------------------------------------------------
psql \?:
\f STRING      set field separator
man:
\f [ string ]
        Sets the field separator for unaligned query output. (...)
psql \? new:
\f [ STRING ] show or set field separator
\g
-----------------------------------------------------------------------
psql \?:
\g FILENAME    send SQL command to server (and write results to file or |pipe)
man:
\g [ { filename | |command } ]
        Sends the current query input buffer to the backend
              and optionally saves  the  output  in  filename  or
              pipes the output into a separate Unix shell to exe?
              cute command. (...)
psql \? new:
\g [ FILE | |PIPE ] send SQL command to server (and write results to file or  
        |pipe)
\s
-----------------------------------------------------------------------
psql \?:
\s FILENAME    print history or save it to file
man:
\s [ filename ]
              Print or save the command line history to filename.
psql \? new:
\s [ FILENAME ]   print command line history or save it to file
\T
-----------------------------------------------------------------------
psql \?:
\T TEXT        set HTML table tag attributes
man:
\T table_options
        Allows you to specify options to be  placed  within
        the  table  tag  in  HTML tabular output mode. (...)
psql  \? new:
\T [ TAG_ATTR ]   set HTML <table> tag attributes (or unset with no arguments)
__END__
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2002-02-25 23:57:04 | Re: psql and output from \? | 
| Previous Message | Tom Lane | 2002-02-25 22:59:02 | Re: Defunct postmasters |