On 6/27/16 4:24 AM, marc+pg...@milestonerdl.com wrote:
> https://www.postgresql.org/docs/9.4/static/sql-createdatabase.html  
> 
> Says:
> CREATE DATABASE music ENCODING 'LATIN1' TEMPLATE template0;
> 
> that did not work.   Whereas:
> 
> CREATE DATABASE music ENCODING 'LATIN1' TEMPLATE template0 
> LC_COLLATE='C'
> LC_CTYPE='C';
> 
> sure DOES seem to work.

How about the attached patch with some refreshed examples?

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>From b427fc54a63e5edf68043c078e3f09236c7adf5b Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pete...@gmx.net>
Date: Thu, 2 Feb 2017 14:57:46 -0500
Subject: [PATCH] doc: Update CREATE DATABASE examples

The example of using CREATE DATABASE with the ENCODING option did not
work anymore (except in special circumstances) and did not represent a
good general-purpose example, so write some new examples.

Reported-by: marc+pg...@milestonerdl.com
---
 doc/src/sgml/ref/create_database.sgml | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index cf0d53b301..48386a29f9 100644
--- a/doc/src/sgml/ref/create_database.sgml
+++ b/doc/src/sgml/ref/create_database.sgml
@@ -284,17 +284,33 @@ <title>Examples</title>
   </para>
 
   <para>
-   To create a database <literal>music</> which supports the ISO-8859-1
-   character set:
+   To create a database <literal>music</> with a different locale:
+<programlisting>
+CREATE DATABASE music
+    LC_COLLATE 'sv_SE.utf8' LC_CTYPE 'sv_SE.utf8'
+    TEMPLATE template0;
+</programlisting>
+    In this example, the <literal>TEMPLATE template0</> clause is required if
+    the specified locale is different from the one in <literal>template1</>.
+    (If it is not, then specifying the locale explicitly is redundant.)
+  </para>
 
+  <para>
+   To create a database <literal>music2</> with a different locale and a
+   different character set encoding:
 <programlisting>
-CREATE DATABASE music ENCODING 'LATIN1' TEMPLATE template0;
+CREATE DATABASE music2
+    LC_COLLATE 'sv_SE.iso885915' LC_CTYPE 'sv_SE.iso885915'
+    ENCODING LATIN9
+    TEMPLATE template0;
 </programlisting>
+   The specified locale and encoding settings must match, or an error will be
+   reported.
+  </para>
 
-   In this example, the <literal>TEMPLATE template0</> clause would only
-   be required if <literal>template1</>'s encoding is not ISO-8859-1.
-   Note that changing encoding might require selecting new
-   <literal>LC_COLLATE</> and <literal>LC_CTYPE</> settings as well.
+  <para>
+   Note that locale names are specific to the operating system, so that the
+   above commands might not work in the same way everywhere.
   </para>
  </refsect1>
 
-- 
2.11.0

-- 
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

Reply via email to