psql and output from \? - Mailing list pgsql-hackers

From Ian Barwick
Subject psql and output from \?
Date
Msg-id 200202252313.AAA17377@post.webmailer.de
Whole thread Raw
Responses Re: psql and output from \?
Re: psql and output from \?
List pgsql-hackers
First off: This is a suggestion for minor changes to the output generated by the \? command in psql. While it is more
ofa 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
alwaysconsistent (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
unsetany title previously set with the same command. This behaviour is however correctly documented in the manpage,
whichalso 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
respectivemanpage description (or first part thereof) and suggested replacment for the \? description. Assumption is
thatsquare 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
outputmode. (...)
 

psql  \? new:
\T [ TAG_ATTR ]   set HTML <table> tag attributes (or unset with no arguments)


__END__


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [GENERAL] Defunct postmasters
Next
From: Peter Eisentraut
Date:
Subject: Re: psql and output from \?