Doc: clarify behavior of OT_WHOLE_LINE and OT_FILEPIPE psql slash commands.
authorTom Lane
Sun, 2 Apr 2017 23:01:53 +0000 (19:01 -0400)
committerTom Lane
Sun, 2 Apr 2017 23:01:53 +0000 (19:01 -0400)
This is another bit of ancient behavior that was documented poorly (in
a couple of cases) or not at all (in several others).

Discussion: https://postgr.es/m/9b4ea968-753f-4b5f-b46c-d7d3bf7c8f90@manitou-mail.org

doc/src/sgml/ref/psql-ref.sgml

index 8f43a1c8b39341623f73158d5b65f66c08aec589..3b866128623531981f3a07c550a0555ecd0d590f 100644 (file)
@@ -989,8 +989,10 @@ testdb=>
         command.  All options other than the data source/destination are
         as specified for .
         Because of this, special parsing rules apply to the \copy
-        command. In particular, psql's variable substitution
-        rules and backslash escapes do not apply.
+        meta-command.  Unlike most other meta-commands, the entire remainder
+        of the line is always taken to be the arguments of \copy,
+        and neither variable interpolation nor backquote expansion are
+        performed in the arguments.
         
 
         
@@ -1820,6 +1822,13 @@ Tue Oct 26 21:40:57 CEST 1999
         line of the file.)
         
 
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \ef, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.
+        
+
         
         
         See under 
@@ -1879,6 +1888,13 @@ Tue Oct 26 21:40:57 CEST 1999
          If a line number is specified, psql will
          position the cursor on the specified line of the view definition.
         
+
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \ev, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.
+        
         
       
 
@@ -1916,6 +1932,14 @@ Tue Oct 26 21:40:57 CEST 1999
         A \g with argument is a one-shot
         alternative to the \o command.
         
+        
+        If the argument begins with |, then the entire remainder
+        of the line is taken to be
+        the command to execute,
+        and neither variable interpolation nor backquote expansion are
+        performed in it.  The rest of the line is simply passed literally to
+        the shell.
+        
         
       
 
@@ -2035,6 +2059,13 @@ hello 10
         SQL commands is shown.
         
 
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \help, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.
+        
+
         
         
         To simplify typing, commands that consists of several words do
@@ -2303,10 +2334,20 @@ lo_import 152801
         specified, the query output is reset to the standard output.
         
 
-        Query results includes all tables, command
+        
+        If the argument begins with |, then the entire remainder
+        of the line is taken to be
+        the command to execute,
+        and neither variable interpolation nor backquote expansion are
+        performed in it.  The rest of the line is simply passed literally to
+        the shell.
+        
+
+        
+        Query results includes all tables, command
         responses, and notices obtained from the database server, as
         well as output of various backslash commands that query the
-        database (such as \d), but not error
+        database (such as \d); but not error
         messages.
         
 
@@ -2907,6 +2948,13 @@ testdb=> \setenv LESS -imx4F
          output lines are numbered, with the first line of the function body
          being line 1.
         
+
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \sf, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.
+        
         
       
 
@@ -2926,6 +2974,13 @@ testdb=> \setenv LESS -imx4F
           If + is appended to the command name, then the
           output lines are numbered from 1.
          
+
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \sv, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.
+        
         
       
 
@@ -3001,6 +3056,15 @@ testdb=> \setenv LESS -imx4F
         If the current query buffer is empty, the most recently executed query
         is written instead.
         
+
+        
+        If the argument begins with |, then the entire remainder
+        of the line is taken to be
+        the command to execute,
+        and neither variable interpolation nor backquote expansion are
+        performed in it.  The rest of the line is simply passed literally to
+        the shell.
+        
         
       
 
@@ -3057,11 +3121,17 @@ testdb=> \setenv LESS -imx4F
         \! [ command ]
         
         
-        Escapes to a separate shell or executes the shell command
-        command. The
-        arguments are not further interpreted; the shell will see them
-        as-is.  In particular, the variable substitution rules and
-        backslash escapes do not apply.
+        With no argument, escapes to a sub-shell; psql
+        resumes when the sub-shell exits.  With an argument, executes the
+        shell command command.
+        
+
+        
+        Unlike most other meta-commands, the entire remainder of the line is
+        always taken to be the argument(s) of \!, and neither
+        variable interpolation nor backquote expansion are performed in the
+        arguments.  The rest of the line is simply passed literally to the
+        shell.