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_New_Features_en_20230528_1.pdf Best Regards, Hayato Kuroda FUJITSU LIMITED
v2_doc_fix.patch
Description: v2_doc_fix.patch