Correct stdin/stdout usage in COPY .. PROGRAM

The COPY documentation incorrectly stated, for the PROGRAM case,
that we read from stdin and wrote to stdout.  Fix that, and improve
consistency by referring to the 'PostgreSQL' user instead of the
'postgres' user, as is done in the rest of the COPY documentation.

Pointed out by Peter van Dijk.

Back-patch to 9.3 where COPY .. PROGRAM was introduced.
This commit is contained in:
Stephen Frost 2014-09-30 15:55:28 -04:00
parent fd02931a6c
commit 8492d86342
1 changed files with 8 additions and 6 deletions

View File

@ -71,12 +71,14 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable
<para>
<command>COPY</command> with a file name instructs the
<productname>PostgreSQL</productname> server to directly read from
or write to a file. The file must be accessible to the server and
the name must be specified from the viewpoint of the server. When
<literal>PROGRAM</literal> is specified, the server executes the
given command, and reads from its standard input, or writes to its
standard output. The command must be specified from the viewpoint of the
server, and be executable by the <literal>postgres</> user. When
or write to a file. The file must be accessible by the
<productname>PostgreSQL</productname> user (the user ID the server
runs as) and the name must be specified from the viewpoint of the
server. When <literal>PROGRAM</literal> is specified, the server
executes the given command and reads from the standard output of the
program, or writes to the standard input of the program. The command
must be specified from the viewpoint of the server, and be executable
by the <productname>PostgreSQL</productname> user. When
<literal>STDIN</literal> or <literal>STDOUT</literal> is
specified, data is transmitted via the connection between the
client and the server.