v3-0001-Fix-description-for-handling-of-non-printable-AS.patch
application/octet-stream
Filename: v3-0001-Fix-description-for-handling-of-non-printable-AS.patch
Type: application/octet-stream
Part: 1
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v3-0001
Subject: Fix description for handling of non-printable ASCII characters
| File | + | − |
|---|---|---|
| doc/src/sgml/config.sgml | 14 | 8 |
| doc/src/sgml/postgres-fdw.sgml | 7 | 5 |
From 8e756854de95794f3d30584cee70b94b5822e424 Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Wed, 27 Sep 2023 12:12:16 +0000
Subject: [PATCH v31] 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 | 22 ++++++++++++++--------
doc/src/sgml/postgres-fdw.sgml | 12 +++++++-----
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 38684af5b1..9163e55c6d 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -6892,9 +6892,11 @@ local0.* /var/log/postgresql
The name will be displayed in the <structname>pg_stat_activity</structname> view
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>).
+ The bytes of the string which are not printable ASCII, like
+ <literal>\x03</literal>, are replaced with the
+ <productname>PostgreSQL</productname> <link
+ linkend="sql-syntax-strings-escape">C-style escaped hexadecimal byte
+ value</link>.
</para>
</listitem>
</varlistentry>
@@ -7889,11 +7891,15 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
<para>
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.
+ build).
+ The bytes of the string which are not printable ASCII, like
+ <literal>\x03</literal>, are replaced with the
+ <productname>PostgreSQL</productname> <link
+ linkend="sql-syntax-strings-escape">C-style escaped hexadecimal byte
+ value</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..dcbcf84911 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -1064,12 +1064,14 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
<para>
<varname>postgres_fdw.application_name</varname> can be any string
- of any length and contain even non-ASCII characters. However when
- it's passed to and used as <varname>application_name</varname>
+ of any length and contain even characters that are not printable ASCII.
+ 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 and the bytes of the string that
+ are not printable ASCII characters are replaced with the
+ <productname>PostgreSQL</productname> <link
+ linkend="sql-syntax-strings-escape">C-style escaped hexadecimal byte
+ value</link>.
See <xref linkend="guc-application-name"/> for details.
</para>
--
2.27.0