diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index ab6ceb216e..7f22b0400f 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -1,5 +1,5 @@
@@ -43,34 +43,23 @@ PostgreSQL documentation
- 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 template1
- database. When you later create a new database, everything in the
- template1 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 template1
+ database. When you later create a new database, everything in the
+ template1 database is copied. It contains catalog
+ tables containing things like built-in data types.
- initdb 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 C> or POSIX>.
- Therefore it is important to make the right choice when running
- initdb. Other locale categories can be changed
- later when the server is started. initdb will
- write those locale settings into the
- postgresql.conf configuration file so they are
- the default, but they can be changed by editing that file. To set the
- locale that initdb uses, see the description of
- the option. The character set encoding can
- be set separately for each database as it is created.
- initdb determines the encoding for the
- template1 database, which will serve as the
- default for all other databases. To alter the default encoding use
- the option.
+ Although initdb 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
+ chown to assign ownership of that directory to the
+ database user account, then su to become the
+ database user to run initdb.
@@ -83,15 +72,28 @@ PostgreSQL documentation
- Although initdb 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 chown to hand over
- ownership of that directory to the database user account, then
- su to become the database user, and
- finally run initdb as the database user.
+ initdb initializes the database cluster's default
+ locale and character set encoding. The collation order
+ (LC_COLLATE>) and character set classes
+ (LC_CTYPE>, e.g. upper, lower, digit) are fixed for all
+ databases and can not be changed. Collation orders other than
+ C> or POSIX> also have a performance penalty.
+ For these reasons it is important to choose the right locale when
+ running initdb. The remaining locale categories
+ can be changed later when the server is started. All server locale
+ values (lc_*>) can be displayed via SHOW ALL>.
+ More details can be found in .
+
+
+ The character set encoding can be set separately for a database when
+ it is created. initdb determines the encoding for
+ the template1 database, which will serve as the
+ default for all other databases. To alter the default encoding use
+ the option. More details can be found in
+ .
+
+