From b889d6c7196d120c9e9a357dea5cd77d68018600 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 17 Aug 2021 10:00:06 +0300 Subject: [PATCH] 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 --- doc/src/sgml/ref/copy.sgml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml index 7c5421268d..1e57328ca7 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -615,12 +615,12 @@ COPY count \digits Backslash followed by one to three octal digits specifies - the character with that numeric code + the byte with that numeric code \xdigits Backslash x followed by one or two hex digits specifies - the character with that numeric code + the byte with that numeric code @@ -652,6 +652,12 @@ COPY count or vice versa). + + 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. + + COPY TO will terminate each row with a Unix-style newline (\n). Servers running on Microsoft Windows instead