REL_16_v4-0001-Fix-description-for-handling-of-non-printable-ASC.txt
text/plain
Filename: REL_16_v4-0001-Fix-description-for-handling-of-non-printable-ASC.txt
Type: text/plain
Part: 0
From 8f56b1cd93157a3c8b8f1c703c2752c0727e798c Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Wed, 27 Sep 2023 07:31:07 +0000
Subject: [PATCH v40] Fix description for handling of non-printable ASCII
characters
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
45b1a67a changed the behavior when characters that are not printable ASCII were
used for three configuration parameters (application_name, cluster_name, and
postgres_fdw.application_name), but it was not documented. This commit fixes
that.
PG15 and prior:
```
postgres=# SET application_name TO 'あああ';
SET
postgres=# SHOW application_name ;
application_name
------------------
?????????
(1 row)
```
PG16 and later:
```
postgres=# SET application_name TO 'あああ';
SET
postgres=# SHOW application_name ;
application_name
--------------------------------------
\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82
(1 row)
```
---
doc/src/sgml/config.sgml | 15 +++++++++------
doc/src/sgml/postgres-fdw.sgml | 6 +++---
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 4647539e40..126c147fc6 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -7012,8 +7012,9 @@ local0.* /var/log/postgresql
and included in CSV log entries. It can also be included in regular
log entries via the <xref linkend="guc-log-line-prefix"/> parameter.
Only printable ASCII characters may be used in the
- <varname>application_name</varname> value. Other characters will be
- replaced with question marks (<literal>?</literal>).
+ <varname>application_name</varname> value.
+ Other characters are replaced with <link
+ linkend="sql-syntax-strings-escape">C-style hexadecimal escapes</link>.
</para>
</listitem>
</varlistentry>
@@ -8009,10 +8010,12 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
The name can be any string of less
than <symbol>NAMEDATALEN</symbol> characters (64 characters in a standard
build). Only printable ASCII characters may be used in the
- <varname>cluster_name</varname> value. Other characters will be
- replaced with question marks (<literal>?</literal>). No name is shown
- if this parameter is set to the empty string <literal>''</literal> (which is
- the default). This parameter can only be set at server start.
+ <varname>cluster_name</varname> value.
+ Other characters are replaced with <link
+ linkend="sql-syntax-strings-escape">C-style hexadecimal escapes</link>.
+ No name is shown if this parameter is set to the empty string
+ <literal>''</literal> (which is the default).
+ This parameter can only be set at server start.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 5062d712e7..c177fd41bc 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -1067,9 +1067,9 @@ postgres=# SELECT postgres_fdw_disconnect_all();
of any length and contain even non-ASCII characters. However when
it's passed to and used as <varname>application_name</varname>
in a foreign server, note that it will be truncated to less than
- <symbol>NAMEDATALEN</symbol> characters and anything other than
- printable ASCII characters will be replaced with question
- marks (<literal>?</literal>).
+ <symbol>NAMEDATALEN</symbol> characters.
+ Anything other than printable ASCII characters are replaced with <link
+ linkend="sql-syntax-strings-escape">C-style hexadecimal escapes</link>.
See <xref linkend="guc-application-name"/> for details.
</para>
--
2.27.0