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 **** ! 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. ! 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. --- 43,65 ---- ! 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. ! 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,97 **** ! 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. --- 72,99 ---- ! 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 + . + +