Home Explore Blog CI



postgresql

6th chunk of `doc/src/sgml/ref/initdb.sgml`
cb67cbe7803d6d279fe9d9e3ce5066e1f34a660d7053e01e0000000100000fa2
 <xref linkend="guc-default-text-search-config"/> for further information.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="app-initdb-option-username">
      <term><option>-U <replaceable class="parameter">username</replaceable></option></term>
      <term><option>--username=<replaceable class="parameter">username</replaceable></option></term>
      <listitem>
       <para>
        Sets the user name of the
        <glossterm linkend="glossary-bootstrap-superuser">bootstrap superuser</glossterm>.
        This defaults to the name of the operating-system user running
        <command>initdb</command>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="app-initdb-option-pwprompt">
      <term><option>-W</option></term>
      <term><option>--pwprompt</option></term>
      <listitem>
       <para>
        Makes <command>initdb</command> prompt for a password
        to give the bootstrap superuser. If you don't plan on using password
        authentication, this is not important.  Otherwise you won't be
        able to use password authentication until you have a password
        set up.
       </para>
      </listitem>
     </varlistentry>

      <varlistentry id="app-initdb-option-waldir">
      <term><option>-X <replaceable class="parameter">directory</replaceable></option></term>
      <term><option>--waldir=<replaceable class="parameter">directory</replaceable></option></term>
      <listitem>
       <para>
        This option specifies the directory where the write-ahead log
        should be stored.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="app-initdb-option-wal-segsize">
      <term><option>--wal-segsize=<replaceable>size</replaceable></option></term>
      <listitem>
       <para>
        Set the <firstterm>WAL segment size</firstterm>, in megabytes.  This
        is the size of each individual file in the WAL log.  The default size
        is 16 megabytes.  The value must be a power of 2 between 1 and 1024
        (megabytes).  This option can only be set during initialization, and
        cannot be changed later.
       </para>

       <para>
        It may be useful to adjust this size to control the granularity of
        WAL log shipping or archiving.  Also, in databases with a high volume
        of WAL, the sheer number of WAL files per directory can become a
        performance and management problem.  Increasing the WAL file size
        will reduce the number of WAL files.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>

   <para>
    Other, less commonly used, options are also available:

    <variablelist>
     <varlistentry id="app-initdb-option-set">
      <term><option>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></option></term>
      <term><option>--set <replaceable>name</replaceable>=<replaceable>value</replaceable></option></term>
      <listitem>
       <para>
        Forcibly set the server parameter <replaceable>name</replaceable>
        to <replaceable>value</replaceable> during <command>initdb</command>,
        and also install that setting in the
        generated <filename>postgresql.conf</filename> file,
        so that it will apply during future server runs.
        This option can be given more than once to set several parameters.
        It is primarily useful when the environment is such that the server
        will not start at all using the default parameters.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="app-initdb-option-debug">
      <term><option>-d</option></term>
      <term><option>--debug</option></term>
      <listitem>
       <para>
        Print debugging output from the bootstrap backend and a few other
        messages of lesser interest for the general public.
        The bootstrap backend is the program <command>initdb</command>
        uses to create the catalog tables.  This option generates

Title: initdb Options: Superuser, WAL, and Debugging
Summary
This section details the remaining `initdb` options, including setting the bootstrap superuser's username and prompting for their password. It also covers specifying the directory for write-ahead logs (WAL) and setting the WAL segment size. Finally, it explains how to forcibly set server parameters during `initdb` and enable debugging output.