public inbox for [email protected]
help / color / mirror / Atom feedFrom: Hayato Kuroda (Fujitsu) <[email protected]>
To: 'jian he' <[email protected]>
Cc: Postgres hackers <[email protected]>
Subject: RE: [PGdocs] fix description for handling pf non-ASCII characters
Date: Thu, 29 Jun 2023 07:51:49 +0000
Message-ID: <TYAPR01MB58662BC412E1290FC3348973F525A@TYAPR01MB5866.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <CACJufxFkp8c0ap6YhyXRpVkjsB8pwZjWH9Hqc1tVF0aNWFRzFA@mail.gmail.com>
References: <TYAPR01MB586631D0961BF9C44893FAB1F523A@TYAPR01MB5866.jpnprd01.prod.outlook.com>
<CACJufxFkp8c0ap6YhyXRpVkjsB8pwZjWH9Hqc1tVF0aNWFRzFA@mail.gmail.com>
Dear Jian,
Thank you for checking my patch!
>
> in your patch:
> > printable ASCII characters will be replaced with a hex escape.
>
> My wording is not good. I think the result will be: ASCII characters
> will be as is, non-ASCII characters will be replaced with "a hex
> escape".
Yeah, your point was right. I have already said:
"anything other than printable ASCII characters will be replaced with a hex escape"
IIUC They have same meaning.
You might want to say the line was not good, so reworded like
"non-ASCII characters will be replaced with hexadecimal strings." How do you think?
> set application_name to 'abc漢字Abc';
> SET
> test16=# show application_name;
> application_name
> --------------------------------
> abc\xe6\xbc\xa2\xe5\xad\x97Abc
> (1 row)
>
> I see multi escape, so I am not sure "a hex escape".
Not sure what you said, but I could not find word "hex escape" in the document.
So I used "hexadecimal string" instead. Is it acceptable?
> to properly render it back to 'abc漢字Abc'
> here is how i do it:
> select 'abc' || convert_from(decode(' e6bca2e5ad97','hex'), 'UTF8') || 'Abc';
Yeah, your approach seems right, but I'm not sure it is related with us.
Just to confirm, I don't have interest the method for rendering non-ASCII characters.
My motivation of the patch was to document the the incompatibility noted in [1]:
>
Changed the conversion rules when non-ASCII characters are specified for ASCII-only
strings such as parameters application_name and cluster_name. Previously, it was
converted in byte units with a question mark (?), but in PostgreSQL 16, it is
converted to a hexadecimal string.
>
> I guess it's still painful if your application_name has non-ASCII chars.
I agreed that, but no one has recommended to use non-ASCII.
[1]: https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_...
Best Regards,
Hayato Kuroda
FUJITSU LIMITED
Attachments:
[application/octet-stream] v2_doc_fix.patch (2.5K, ../TYAPR01MB58662BC412E1290FC3348973F525A@TYAPR01MB5866.jpnprd01.prod.outlook.com/2-v2_doc_fix.patch)
download | inline diff:
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index e700782d3c..a4ce99ba4d 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -7040,9 +7040,8 @@ 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>).
+ Non-ASCII characters used in the <varname>application_name</varname>
+ will be replaced with hexadecimal strings.
</para>
</listitem>
</varlistentry>
@@ -8037,10 +8036,9 @@ 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
+ build). Non-ASCII characters used in the <varname>cluster_name</varname>
+ will be replaced with hexadecimal strings. 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>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 5062d712e7..98785e87ea 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -1067,9 +1067,8 @@ 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 and non-ASCII characters will be
+ replaced with hexadecimal strings.
See <xref linkend="guc-application-name"/> for details.
</para>
view thread (2+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: RE: [PGdocs] fix description for handling pf non-ASCII characters
In-Reply-To: <TYAPR01MB58662BC412E1290FC3348973F525A@TYAPR01MB5866.jpnprd01.prod.outlook.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox