Rootroute       Hosting       Order       Map       Login   Secure Inter-Network Operations  
 
man : initdb(1)

Command: man perldoc info search(apropos)  




INITDB(1)         PostgreSQL Server Applications        INITDB(1)


NAME
       initdb - create a new PostgreSQL database cluster


SYNOPSIS
       initdb [ option... ]   [ --pgdata  ]  [ -D  ] directory

DESCRIPTION
       initdb  creates  a  new  PostgreSQL  database  cluster.  A
       database cluster is a collection  of  databases  that  are
       managed by a single server instance.

       Creating  a  database  cluster  consists  of  creating the
       directories in which the database data will live, generat-
       ing  the  shared catalog tables (tables that belong to the
       whole cluster rather than to any particular database), and
       creating  the  template1  and postgres databases. When you
       later create a new database, everything in  the  template1
       database is copied. (Therefore, anything installed in tem-
       plate1 is automatically copied into each database  created
       later.)  The postgres database is a default database meant
       for use by users, utilities and third party  applications.

       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 direc-
       tory to the database user account, then su to  become  the
       database user to run initdb.

       initdb  must  be  run as the user that will own the server
       process, because the server needs to have  access  to  the
       files  and  directories  that  initdb  creates.  Since the
       server cannot be run as root, you must not run  initdb  as
       root either. (It will in fact refuse to do so.)

       initdb  initializes  the database cluster's default locale
       and character set encoding. The  character  set  encoding,
       collation  order  (LC_COLLATE)  and  character set classes
       (LC_CTYPE, e.g. upper, lower, digit) can be set separately
       for a database when it is created. initdb determines those
       settings for the template1 database, which will  serve  as
       the default for all other databases.

       To  alter  the  default  collation  order or character set
       classes, use  the  --lc-collate  and  --lc-ctype  options.
       Collation orders other than C or POSIX also have a perfor-
       mance 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. You can also use  --locale  to  set
       the default for all locale categories, including collation



Application                 2009-09-03                          1





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


       order and character set classes. All server locale  values
       (lc_*) can be displayed via SHOW ALL.  More details can be
       found in in the documentation.

       To alter the default encoding, use the  --encoding.   More
       details can be found in in the documentation.

OPTIONS
       -A authmethod

       --auth=authmethod
              This option specifies the authentication method for
              local users used in pg_hba.conf. Do not  use  trust
              unless  you  trust  all local users on your system.
              Trust is the default for ease of installation.

       -D directory

       --pgdata=directory
              This  option  specifies  the  directory  where  the
              database cluster should be stored. This is the only
              information required by initdb, but you  can  avoid
              writing  it by setting the PGDATA environment vari-
              able, which can be convenient  since  the  database
              server  (postgres)  can find the database directory
              later by the same variable.

       -E encoding

       --encoding=encoding
              Selects the encoding of the template database. This
              will  also  be the default encoding of any database
              you create later, unless you override it there. The
              default is derived from the locale, or SQL_ASCII if
              that does not work. The character sets supported by
              the PostgreSQL server are described in in the docu-
              mentation.

       --locale=locale
              Sets the default locale for the  database  cluster.
              If  this  option  is  not  specified, the locale is
              inherited from the environment that initdb runs in.
              Locale  support  is  described in in the documenta-
              tion.

       --lc-collate=locale

       --lc-ctype=locale

       --lc-messages=locale

       --lc-monetary=locale





Application                 2009-09-03                          2





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


       --lc-numeric=locale

       --lc-time=locale
              Like --locale, but only  sets  the  locale  in  the
              specified category.

       -X directory

       --xlogdir=directory
              This  option  specifies  the  directory  where  the
              transaction log should be stored.

       -U username

       --username=username
              Selects the user name of  the  database  superuser.
              This  defaults  to  the  name of the effective user
              running initdb. It is really not important what the
              superuser's  name  is, but one might choose to keep
              the customary name postgres, even if the  operating
              system user's name is different.

       -W

       --pwprompt
              Makes  initdb  prompt  for  a  password to give the
              database superuser. If  you  don't  plan  on  using
              password  authentication,  this  is  not important.
              Otherwise you won't be able to use password authen-
              tication until you have a password set up.

       --pwfile=filename
              Makes initdb read the database superuser's password
              from a file. The first line of the file is taken as
              the password.


       Other, less commonly used, parameters are also available:

       -d

       --debug
              Print  debugging  output from the bootstrap backend
              and a few other messages of lesser interest for the
              general  public.  The bootstrap backend is the pro-
              gram initdb uses to create the catalog tables. This
              option  generates  a tremendous amount of extremely
              boring output.

       -L directory
              Specifies where initdb should find its input  files
              to  initialize  the  database cluster. This is nor-
              mally not necessary. You will be told if  you  need
              to specify their location explicitly.



Application                 2009-09-03                          3





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


       -n

       --noclean
              By  default,  when  initdb determines that an error
              prevented it from completely creating the  database
              cluster, it removes any files it might have created
              before discovering that it cannot finish  the  job.
              This  option inhibits tidying-up and is thus useful
              for debugging.


ENVIRONMENT
       PGDATA Specifies the directory where the database  cluster
              is  to  be  stored;  can be overridden using the -D
              option.

       This utility, like most other PostgreSQL  utilities,  also
       uses  the environment variables supported by libpq (see in
       the documentation).


SEE ALSO
       postgres(1)


































Application                 2009-09-03                          4




rootr.net - man pages