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 may not 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 collation  order  (LC_COL-
       LATE)  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
       documentation.

       The  character  set  encoding  can be set separately for a
       database when it is created. initdb determines the  encod-
       ing  for  the  template1 database, which will serve as the
       default for all other  databases.  To  alter  the  default
       encoding  use  the  --encoding option. More details can be



Application                 2005-11-05                          1





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


       found 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 (postmaster) 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 the documen-
              tation.

       --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 the documentation.

       --lc-collate=locale

       --lc-ctype=locale

       --lc-messages=locale

       --lc-monetary=locale

       --lc-numeric=locale

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





Application                 2005-11-05                          2





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


       -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.

       -n

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





Application                 2005-11-05                          3





INITDB(1)         PostgreSQL Server Applications        INITDB(1)


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

SEE ALSO
       postgres(1), postmaster(1)


















































Application                 2005-11-05                          4




rootr.net - man pages