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 942416f4bd
commit 087c1a2f11
1 changed files with 8 additions and 2 deletions

View File

@ -599,12 +599,12 @@ COPY <replaceable class="parameter">count</replaceable>
<row>
<entry><literal>\</><replaceable>digits</></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</><replaceable>digits</></entry>
<entry>Backslash <literal>x</> 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>
@ -636,6 +636,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</></>). Servers running on Microsoft Windows instead