1999-07-22 17:09:15 +02:00
|
|
|
<!--
|
2001-12-08 04:24:40 +01:00
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.19 2001/12/08 03:24:37 thomas Exp $
|
|
|
|
PostgreSQL documentation
|
1999-07-22 17:09:15 +02:00
|
|
|
-->
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refentry id="APP-INITDB">
|
2000-11-12 00:01:45 +01:00
|
|
|
<docinfo>
|
2000-12-26 00:15:27 +01:00
|
|
|
<date>2000-12-25</date>
|
2000-11-12 00:01:45 +01:00
|
|
|
</docinfo>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refmeta>
|
2001-09-08 17:24:00 +02:00
|
|
|
<refentrytitle id="APP-INITDB-TITLE">initdb</refentrytitle>
|
2000-11-12 00:01:45 +01:00
|
|
|
<manvolnum>1</manvolnum>
|
1999-07-06 19:16:42 +02:00
|
|
|
<refmiscinfo>Application</refmiscinfo>
|
|
|
|
</refmeta>
|
2000-11-12 00:01:45 +01:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refnamediv>
|
2000-11-12 00:01:45 +01:00
|
|
|
<refname>initdb</refname>
|
2001-09-03 14:57:50 +02:00
|
|
|
<refpurpose>create a new <productname>PostgreSQL</productname> database cluster</refpurpose>
|
1999-07-06 19:16:42 +02:00
|
|
|
</refnamediv>
|
2000-11-12 00:01:45 +01:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refsynopsisdiv>
|
2000-11-12 00:01:45 +01:00
|
|
|
<cmdsynopsis>
|
|
|
|
<command>initdb</command>
|
|
|
|
<group choice="plain">
|
|
|
|
<arg>--pgdata </arg>
|
|
|
|
<arg>-D </arg>
|
2001-09-08 17:24:00 +02:00
|
|
|
<replaceable>directory</replaceable>
|
2000-11-12 00:01:45 +01:00
|
|
|
</group>
|
|
|
|
<group>
|
2001-09-08 17:24:00 +02:00
|
|
|
<arg>--username </arg>
|
|
|
|
<arg>-U </arg>
|
|
|
|
<replaceable>username</replaceable>
|
2000-11-12 00:01:45 +01:00
|
|
|
</group>
|
|
|
|
<group><arg>--pwprompt</arg><arg>-W</arg></group>
|
|
|
|
<group>
|
|
|
|
<arg>--encoding </arg>
|
|
|
|
<arg>-E </arg>
|
|
|
|
<replaceable>encoding</replaceable>
|
|
|
|
</group>
|
|
|
|
<arg>-L <replaceable>directory</replaceable></arg>
|
|
|
|
<group><arg>--noclean</arg><arg>-n</arg></group>
|
|
|
|
<group><arg>--debug</arg><arg>-d</arg></group>
|
|
|
|
</cmdsynopsis>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
|
|
|
|
<refsect1 id="R1-APP-INITDB-1">
|
|
|
|
<title>
|
|
|
|
Description
|
|
|
|
</title>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
<command>initdb</command> creates a new
|
|
|
|
<productname>PostgreSQL</productname> database cluster (or database
|
|
|
|
system). A database cluster is a collection of databases that are
|
|
|
|
managed by a single server instance.
|
2000-11-12 00:01:45 +01:00
|
|
|
</para>
|
2001-09-08 17:24:00 +02:00
|
|
|
|
2000-11-12 00:01:45 +01:00
|
|
|
<para>
|
|
|
|
Creating a database system consists of creating the directories in which
|
|
|
|
the database data will live, generating the shared catalog tables
|
2001-01-20 23:09:24 +01:00
|
|
|
(tables that belong to the whole cluster rather than to any particular
|
|
|
|
database), and creating the <literal>template1</literal>
|
2000-11-12 00:01:45 +01:00
|
|
|
database. When you 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.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
<command>initdb</command> 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 <command>initdb</command> creates.
|
|
|
|
Since the server may not be run as root, you must not run
|
|
|
|
<command>initdb</command> as root either. (It will in fact refuse
|
|
|
|
to do so.)
|
2000-11-12 00:01:45 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
Although <command>initdb</command> will attempt to create the
|
2001-01-20 23:09:24 +01:00
|
|
|
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
|
2001-09-08 17:24:00 +02:00
|
|
|
directory as root, then use <command>chown</command> to hand over
|
2001-01-20 23:09:24 +01:00
|
|
|
ownership of that directory to the database user account, then
|
2001-09-08 17:24:00 +02:00
|
|
|
<command>su</command> to become the database user, and
|
|
|
|
finally run <command>initdb</command> as the database user.
|
2000-11-12 00:01:45 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<refsect2>
|
|
|
|
<title>Options</title>
|
1998-10-05 04:54:45 +02:00
|
|
|
|
2000-11-12 00:01:45 +01:00
|
|
|
<para>
|
1999-07-06 19:16:42 +02:00
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
2001-09-08 17:24:00 +02:00
|
|
|
<term>--pgdata=<replaceable class="parameter">directory</replaceable></term>
|
|
|
|
<term>-D <replaceable class="parameter">directory</replaceable></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
This option specifies the directory where the database system
|
2000-12-26 00:15:27 +01:00
|
|
|
should be stored. This is the only information required by
|
2001-09-08 17:24:00 +02:00
|
|
|
<command>initdb</command>, but you can avoid writing it by
|
2000-12-26 00:15:27 +01:00
|
|
|
setting the <envar>PGDATA</envar> environment variable, which
|
|
|
|
can be convenient since the database server
|
2001-09-08 17:24:00 +02:00
|
|
|
(<command>postmaster</command>) can find the database
|
2000-12-26 00:15:27 +01:00
|
|
|
directory later by the same variable.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
1998-10-05 04:54:45 +02:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
2001-09-08 17:24:00 +02:00
|
|
|
<term>--username=<replaceable class="parameter">username</replaceable></term>
|
|
|
|
<term>-U <replaceable class="parameter">username</replaceable></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
Selects the user name of the database superuser. This defaults
|
|
|
|
to the name of the effective user running
|
|
|
|
<command>initdb</command>. It is really not important what the
|
|
|
|
superuser's name is, but one might choose to keep the
|
|
|
|
customary name <quote>postgres</quote>, even if the operating
|
|
|
|
system user's name is different.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
1999-12-17 02:05:31 +01:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
2000-01-15 19:30:35 +01:00
|
|
|
<term>--pwprompt</term>
|
|
|
|
<term>-W</term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
Makes <command>initdb</command> prompt for a password
|
2001-01-20 23:09:24 +01:00
|
|
|
to give the database superuser. If you don't plan on using password
|
2000-12-26 00:15:27 +01:00
|
|
|
authentication, this is not important. Otherwise you won't be
|
|
|
|
able to use password authentication until you have a password
|
|
|
|
set up.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
1999-12-17 02:05:31 +01:00
|
|
|
|
|
|
|
<varlistentry>
|
2000-01-15 19:30:35 +01:00
|
|
|
<term>--encoding=<replaceable class="parameter">encoding</replaceable></term>
|
2000-01-18 01:03:37 +01:00
|
|
|
<term>-E <replaceable class="parameter">encoding</replaceable></term>
|
1999-12-17 02:05:31 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
Selects the encoding of the template database. This will also
|
1999-12-17 02:05:31 +01:00
|
|
|
be the default encoding of any database you create later, unless you
|
2001-11-28 21:49:10 +01:00
|
|
|
override it there. To use the encoding feature, you must
|
|
|
|
have enabled it at build time, at which time you also select the default
|
1999-12-17 02:05:31 +01:00
|
|
|
for this option.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Other, less commonly used, parameters are also available:
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
2000-11-12 00:01:45 +01:00
|
|
|
<term>-L <replaceable class="parameter">directory</replaceable></term>
|
1999-12-17 02:05:31 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
Specifies where <command>initdb</command> should find
|
2000-12-26 00:15:27 +01:00
|
|
|
its input files to initialize the database system. This is
|
|
|
|
normally not necessary. You will be told if you need to
|
|
|
|
specify their location explicitly.
|
1999-12-17 02:05:31 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>--noclean</term>
|
|
|
|
<term>-n</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-08 17:24:00 +02:00
|
|
|
By default, when <command>initdb</command>
|
2000-10-05 21:48:34 +02:00
|
|
|
determines that an error prevented it from completely creating the database
|
2001-01-20 23:09:24 +01:00
|
|
|
system, it removes any files it may have created before discovering
|
|
|
|
that it can't finish the job. This option inhibits tidying-up and is
|
1999-07-06 19:16:42 +02:00
|
|
|
thus useful for debugging.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>--debug</term>
|
|
|
|
<term>-d</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
1999-12-17 02:05:31 +01:00
|
|
|
Print debugging output from the bootstrap backend and a few other
|
|
|
|
messages of lesser interest for the general public.
|
2001-09-08 17:24:00 +02:00
|
|
|
The bootstrap backend is the program <command>initdb</command>
|
1999-07-06 19:16:42 +02:00
|
|
|
uses to create the catalog tables. This option generates a tremendous
|
2001-01-20 23:09:24 +01:00
|
|
|
amount of extremely boring output.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
</refsect2>
|
2000-11-12 00:01:45 +01:00
|
|
|
</refsect1>
|
1999-07-06 19:16:42 +02:00
|
|
|
|
2000-11-12 00:01:45 +01:00
|
|
|
<refsect1>
|
2001-09-08 17:24:00 +02:00
|
|
|
<title>Environment</title>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term><envar>PGDATA</envar></term>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Specifies the directory where the database system is to be
|
|
|
|
stored; may be overridden using the <option>-D</option> option.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>See Also</title>
|
1999-07-06 19:16:42 +02:00
|
|
|
|
2001-09-08 17:24:00 +02:00
|
|
|
<simplelist type="inline">
|
|
|
|
<member><xref linkend="app-postgres"></member>
|
|
|
|
<member><xref linkend="app-postmaster"></member>
|
|
|
|
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
|
|
|
|
</simplelist>
|
1999-07-06 19:16:42 +02:00
|
|
|
</refsect1>
|
2000-11-12 00:01:45 +01:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
</refentry>
|
|
|
|
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
|
Local variables:
|
|
|
|
mode: sgml
|
|
|
|
sgml-omittag:nil
|
|
|
|
sgml-shorttag:t
|
|
|
|
sgml-minimize-attributes:nil
|
|
|
|
sgml-always-quote-attributes:t
|
|
|
|
sgml-indent-step:1
|
|
|
|
sgml-indent-data:t
|
|
|
|
sgml-parent-document:nil
|
|
|
|
sgml-default-dtd-file:"../reference.ced"
|
|
|
|
sgml-exposed-tags:nil
|
|
|
|
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
|
|
|
sgml-local-ecat-files:nil
|
|
|
|
End:
|
|
|
|
-->
|