I have updated the initdb manual page description for locale/encoding,
and backpatched to 8.0.X.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Index: doc/src/sgml/ref/initdb.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v
retrieving revision 1.33
diff -c -c -r1.33 initdb.sgml
*** doc/src/sgml/ref/initdb.sgml 4 Jan 2005 00:05:45 -0000 1.33
--- doc/src/sgml/ref/initdb.sgml 22 Feb 2005 02:37:37 -0000
***************
*** 43,76 ****
</para>
<para>
! Creating a database cluster consists of creating the directories in which
! the database data will live, generating the shared catalog tables
! (tables that belong to the whole cluster rather than to any particular
! database), and creating the <literal>template1</literal>
! database. When you later create a new database, everything in the
! <literal>template1</literal> database is copied.
! It contains catalog tables filled in for things like the
! built-in types.
</para>
<para>
! <command>initdb</command> initializes the database cluster's default
! locale and character set encoding. Some locale categories are fixed
! for the lifetime of the cluster. There is also a performance impact
! in using locales other than <literal>C</> or <literal>POSIX</>.
! Therefore it is important to make the right choice when running
! <command>initdb</command>. Other locale categories can be changed
! later when the server is started. <command>initdb</command> will
! write those locale settings into the
! <filename>postgresql.conf</filename> configuration file so they are
! the default, but they can be changed by editing that file. To set the
! locale that <command>initdb</command> uses, see the description of
! the <option>--locale</option> option. The character set encoding can
! be set separately for each database as it is created.
! <command>initdb</command> determines the encoding for the
! <literal>template1</literal> database, which will serve as the
! default for all other databases. To alter the default encoding use
! the <option>--encoding</option> option.
</para>
<para>
--- 43,65 ----
</para>
<para>
! Creating a database cluster consists of creating the directories in
! which the database data will live, generating the shared catalog
! tables (tables that belong to the whole cluster rather than to any
! particular database), and creating the <literal>template1</literal>
! database. When you later create a new database, everything in the
! <literal>template1</literal> database is copied. It contains catalog
! tables containing things like built-in data types.
</para>
<para>
! Although <command>initdb</command> will attempt to create the
! specified data directory, it might not have permission if the parent
! directory of the desired data directory is root-owned. To initialize
! in such a setup, create an empty data directory as root, then use
! <command>chown</command> to assign ownership of that directory to the
! database user account, then <command>su</command> to become the
! database user to run <command>initdb</command>.
</para>
<para>
***************
*** 83,97 ****
</para>
<para>
! Although <command>initdb</command> will attempt to create the
! specified data directory, often it won't have permission to do so,
! since the parent of the desired data directory is often a root-owned
! directory. To set up an arrangement like this, create an empty data
! directory as root, then use <command>chown</command> to hand over
! ownership of that directory to the database user account, then
! <command>su</command> to become the database user, and
! finally run <command>initdb</command> as the database user.
</para>
</refsect1>
<refsect1>
--- 72,99 ----
</para>
<para>
! <command>initdb</command> initializes the database cluster's default
! locale and character set encoding. The collation order
! (<literal>LC_COLLATE</>) and character set classes
! (<literal>LC_CTYPE</>, e.g. upper, lower, digit) are fixed for all
! databases and can not be changed. Collation orders other than
! <literal>C</> or <literal>POSIX</> also have a performance penalty.
! For these reasons it is important to choose the right locale when
! running <command>initdb</command>. The remaining locale categories
! can be changed later when the server is started. All server locale
! values (<literal>lc_*</>) can be displayed via <command>SHOW ALL</>.
! More details can be found in <xref linkend="locale">.
</para>
+
+ <para>
+ The character set encoding can be set separately for a database when
+ it is created. <command>initdb</command> determines the encoding for
+ the <literal>template1</literal> database, which will serve as the
+ default for all other databases. To alter the default encoding use
+ the <option>--encoding</option> option. More details can be found in
+ <xref linkend="multibyte">.
+ </para>
+
</refsect1>
<refsect1>