Doc: Document known problem with Windows collation versions.
authorThomas Munro <tmunro@postgresql.org>
Fri, 16 Apr 2021 01:20:58 +0000 (13:20 +1200)
committerThomas Munro <tmunro@postgresql.org>
Fri, 16 Apr 2021 01:23:47 +0000 (13:23 +1200)
Warn users that locales with traditional Windows NLS names like
"English_United States.1252" won't provide version information, and that
something like initdb --lc-collate=en-US would be needed to fix that
problem for the initial template databases.

Discussion: https://postgr.es/m/CA%2BhUKGJ_hk3rU%3D%3Dg2FpAMChb_4i%2BTJacpjjqFsinY-tRM3FBmA%40mail.gmail.com

doc/src/sgml/charset.sgml

index 1b00e543a66ff289e044202b5a79c905c3886017..1c673cc1103a490997a943e8f91e348a09fc78ac 100644 (file)
@@ -985,6 +985,15 @@ CREATE COLLATION ignore_accents (provider = icu, locale = 'und-u-ks-level1-kc-tr
      approach is imperfect as maintainers are free to back-port newer
      collation definitions to older C library releases.
     </para>
+    <para>
+     When using Windows collations, version information is only available for
+     collations defined with BCP 47 language tags such as
+     <literal>en-US</literal>.  Currently, <command>initdb</command> selects
+     a default locale using a traditional Windows language and country
+     string such as <literal>English_United States.1252</literal>.  The
+     <literal>--lc-collate</literal> option can be used to provide an explicit
+     locale name in BCP 47 format.
+    </para>
    </note>
   </sect2>
  </sect1>