doc: \123 and \x12 escapes in COPY are in database encoding.

The backslash sequences, including \123 and \x12 escapes, are interpreted
after encoding conversion. The docs failed to mention that.

Backpatch to all supported versions.

Reported-by: Andreas Grob
Discussion: https://www.postgresql.org/message-id/17142-9181542ca1df75ab%40postgresql.org
This commit is contained in:
Heikki Linnakangas 2021-08-17 10:00:06 +03:00
parent b3d24cc0f0
commit f90c05959e
1 changed files with 8 additions and 2 deletions

View File

@ -636,12 +636,12 @@ COPY <replaceable class="parameter">count</replaceable>
<row>
<entry><literal>\</literal><replaceable>digits</replaceable></entry>
<entry>Backslash followed by one to three octal digits specifies
the character with that numeric code</entry>
the byte with that numeric code</entry>
</row>
<row>
<entry><literal>\x</literal><replaceable>digits</replaceable></entry>
<entry>Backslash <literal>x</literal> followed by one or two hex digits specifies
the character with that numeric code</entry>
the byte with that numeric code</entry>
</row>
</tbody>
</tgroup>
@ -673,6 +673,12 @@ COPY <replaceable class="parameter">count</replaceable>
or vice versa).
</para>
<para>
All backslash sequences are interpreted after encoding conversion.
The bytes specified with the octal and hex-digit backslash sequences must
form valid characters in the database encoding.
</para>
<para>
<command>COPY TO</command> will terminate each row with a Unix-style
newline (<quote><literal>\n</literal></quote>). Servers running on Microsoft Windows instead