aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-02-22 02:54:19 +0000
committerBruce Momjian <bruce@momjian.us>2005-02-22 02:54:19 +0000
commit78bb800bc288f141e04411de278b6f55547a775d (patch)
tree9a391444a5ae34f4ff3f3ced797885756c07b411
parent1808ce7865699aaf0a3f3f91ba3fa736848412b8 (diff)
downloadpostgresql-78bb800bc288f141e04411de278b6f55547a775d.tar.gz
postgresql-78bb800bc288f141e04411de278b6f55547a775d.zip
Update initdb locale/encoding documentation description. Backpatch to
8.0.X.
-rw-r--r--doc/src/sgml/ref/initdb.sgml70
1 files changed, 36 insertions, 34 deletions
diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index ab6ceb216e1..7f22b0400f4 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/initdb.sgml,v 1.33 2005/01/04 00:05:45 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/initdb.sgml,v 1.34 2005/02/22 02:54:19 momjian Exp $
PostgreSQL documentation
-->
@@ -43,34 +43,23 @@ PostgreSQL documentation
</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.
+ 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>
- <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.
+ 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,15 +72,28 @@ PostgreSQL documentation
</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.
+ <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>