From c9e75c21d8c96c9385fdb3693d35628a2a625630 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 5ae915ee9e..4e8ac9d367 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -628,12 +628,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 @@ -665,6 +665,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