Doc: explain that the string types can't store \0 (ASCII NUL).
authorTom Lane <[email protected]>
Tue, 8 Dec 2020 17:06:19 +0000 (12:06 -0500)
committerTom Lane <[email protected]>
Tue, 8 Dec 2020 17:06:19 +0000 (12:06 -0500)
This restriction was mentioned in connection with string literals,
but it wasn't made clear that it's a general restriction not just
a syntactic limitation in query strings.

Per unsigned documentation comment.

Discussion: https://postgr.es/m/160720552914.710.16625261471128631268@wrigleys.postgresql.org

doc/src/sgml/datatype.sgml

index 7e1dc79e1372c304bbf58dff5bc34eefa67d91cd..910ff6e2c604fd8d883f138b9e095d06ebeab52a 100644 (file)
@@ -1091,6 +1091,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
@@ -1129,10 +1137,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>