pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: bugs-postgresql@antipoul.fr
Cc: pgsql-docs@lists.postgresql.org
Subject: Re: Mention invalid null byte sequence
Date: Mon, 07 Dec 2020 15:27:22 -0500
Message-ID: <3153759.1607372842@sss.pgh.pa.us> (raw)
In-Reply-To: <0f0470f6d8c543793d2b71913cb230daea1aef3a.camel@cybertec.at>
References: <160720552914.710.16625261471128631268@wrigleys.postgresql.org>
	<0f0470f6d8c543793d2b71913cb230daea1aef3a.camel@cybertec.at>

Laurenz Albe <laurenz.albe@cybertec.at> writes:
> On Sat, 2020-12-05 at 21:58 +0000, PG Doc comments form wrote:
>> The following documentation comment has been logged on the website:
>> Page: https://www.postgresql.org/docs/13/datatype-character.html
>> Description:
>> 
>> So it should written in the character type that null byte are not accepted,
>> it would make like easier to migrate to PostgreSQL :)

> +1; how about the attached patch?

I had thought that this was already documented, but after digging around
I can only find it mentioned in the contexts of saying that literal
strings and quoted identifiers can't contain \0.  So yeah, we need to
improve that.

I agree with the submitter that the place one would expect to read about
this is in datatype-character.html.  So I'd propose the attached.
Maybe there's reason to repeat the info in charset.sgml, but it seems
like more of a datatype limitation than a character set issue.

			regards, tom lane

Attachments:

document-that-you-cant-store-NUL.patch (text/x-diff, 1.3K) download diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 5c8a92e250..9eb19a1c61 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -1209,6 +1209,14 @@ SELECT '52093.89'::money::numeric::float8; regular expressions. </para> + <para> + The characters that can be stored in any of these data types are + determined by the database character set, which is selected when + the database is created. Regardless of the specific character set, + the character with code zero (sometimes called NUL) cannot be stored. + For more information refer to <xref linkend="multibyte"/>. + </para> + <para> The storage requirement for a short string (up to 126 bytes) is 1 byte plus the actual string, which includes the space padding in the case of @@ -1246,10 +1254,7 @@ SELECT '52093.89'::money::numeric::float8; <para> Refer to <xref linkend="sql-syntax-strings"/> for information about the syntax of string literals, and to <xref linkend="functions"/> - for information about available operators and functions. The - database character set determines the character set used to store - textual values; for more information on character set support, - refer to <xref linkend="multibyte"/>. + for information about available operators and functions. </para> <example>

view thread (51+ messages)  latest in thread

Message-ID: <3153759.1607372842@sss.pgh.pa.us>
Permalink:  ../3153759.1607372842@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/3153759.1607372842@sss.pgh.pa.us

 ·  · 

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: pgsql-docs@postgresql.org
  Cc: tgl@sss.pgh.pa.us, laurenz.albe@cybertec.at, bugs-postgresql@antipoul.fr, pgsql-docs@lists.postgresql.org
  Subject: Re: Mention invalid null byte sequence
  In-Reply-To: <3153759.1607372842@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox