diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml
index 1150b7f5bb..99acabda2d 100644
--- a/doc/src/sgml/adminpack.sgml
+++ b/doc/src/sgml/adminpack.sgml
@@ -12,7 +12,7 @@
   <application>pgAdmin</application> and other administration and management tools can
   use to provide additional functionality, such as remote management
   of server log files.
-  Use of all these functions is only allowed to the superuser by default but may be
+  Use of all these functions is only allowed to database superusers by default but may be
   allowed to other users by using the <command>GRANT</command> command.
  </para>
 
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index d6d0a3a814..9efb694248 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -233,6 +233,28 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-bootstrap-superuser">
+   <glossterm>Bootstrap superuser</glossterm>
+   <glossdef>
+    <para>
+     The very first user created in a
+     <glossterm linkend="glossary-db-cluster">database cluster</glossterm>.
+     By default this user is named <literal>postgres</literal> but
+     the <option>--username</option> argument to <xref linkend="app-initdb" />
+     allows this to be changed.
+    </para>
+    <para>
+     This user owns all system catalog tables in each database.  It also is the role
+     from which all granted permission originate.  Because of these things this
+     role may not be dropped.
+    </para>
+    <para>
+     This role also behaves as a normal
+     <glossterm linkend="glossary-database-superuser">database superuser</glossterm>
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-cast">
    <glossterm>Cast</glossterm>
    <glossdef>
@@ -489,6 +511,25 @@
    <glosssee otherterm="glossary-instance" />
   </glossentry>
 
+  <glossentry id="glossary-database-superuser">
+   <glossterm>Database superuser</glossterm>
+   <glossdef>
+    <para>
+     A role having the <literal>superuser</literal> <xref linkend="role-attributes"/>.
+    </para>
+    <para>
+     All superusers in the system are collectively referred to as database superusers throughout
+     the documentation.  Any plain use of the term
+     <glossterm linkend="glossary-bootstrap-superuser">superuser</glossterm>
+     can be interpreted to mean database superuser.
+    </para>
+    <para>
+     While the <glossterm linkend="glossary-bootstrap-superuser">bootstrap superuser</glossterm> is
+     a database superuser it has special obligations and restrictions that plain database superusers do not.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-data-directory">
    <glossterm>Data directory</glossterm>
    <glossdef>
@@ -1577,6 +1618,16 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-superuser">
+   <glossterm>Superuser</glossterm>
+   <glossdef>
+    <para>
+     As used in this documentation it is a synonym for
+     <glossterm linkend="glossary-database-superuser">database superuser</glossterm>.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-system-catalog">
    <glossterm>System catalog</glossterm>
    <glossdef>
diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index 8158896298..2132f32ac2 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -44,10 +44,13 @@ PostgreSQL documentation
 
   <para>
    Creating a database cluster consists of creating the directories in
-   which the database data will live, generating the shared catalog
+   which the cluster data will live, generating the shared catalog
    tables (tables that belong to the whole cluster rather than to any
-   particular database), and creating the <literal>postgres</literal>,
-   <literal>template1</literal>, and <literal>template0</literal> databases.
+   particular database), creating the <literal>postgres</literal>,
+   <literal>template1</literal>, and <literal>template0</literal> databases,
+   and creating the
+   <glossterm linkend="glossary-bootstrap-superuser">boostrap superuser</glossterm>
+   (<literal>postgres</literal>, by default).
    The <literal>postgres</literal> database is a default database meant
    for use by users, utilities and third party applications.
    <literal>template1</literal> and <literal>template0</literal> are
@@ -64,14 +67,14 @@ PostgreSQL documentation
    directory of the desired data directory is root-owned. To initialize
    in such a setup, create an empty data directory as root, then use
    <command>chown</command> to assign ownership of that directory to the
-   database user account, then <command>su</command> to become the
-   database user to run <command>initdb</command>.
+   cluster user account, then <command>su</command> to become the
+   cluster user to run <command>initdb</command>.
   </para>
 
   <para>
-   <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.
+   <command>initdb</command> must be run as the operating-system 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 cannot be run as root, you must not run
    <command>initdb</command> as root either.  (It will in fact refuse
    to do so.)
@@ -79,7 +82,7 @@ PostgreSQL documentation
 
   <para>
     For security reasons the new cluster created by <command>initdb</command>
-    will only be accessible by the cluster owner by default.  The
+    will only be accessible by the cluster user by default.  The
     <option>--allow-group-access</option> option allows any user in the same
     group as the cluster owner to read files in the cluster.  This is useful
     for performing backups as a non-privileged user.
@@ -196,7 +199,7 @@ PostgreSQL documentation
         <command>initdb</command>, but you can avoid writing it by
         setting the <envar>PGDATA</envar> environment variable, which
         can be convenient since the database server
-        (<command>postgres</command>) can find the database
+        (<command>postgres</command>) can find the data
         directory later by the same variable.
        </para>
       </listitem>
@@ -338,7 +341,7 @@ PostgreSQL documentation
       <term><option>--pwfile=<replaceable>filename</replaceable></option></term>
       <listitem>
        <para>
-        Makes <command>initdb</command> read the database superuser's password
+        Makes <command>initdb</command> read the bootstrap superuser's password
         from a file.  The first line of the file is taken as the password.
        </para>
       </listitem>
@@ -349,7 +352,7 @@ PostgreSQL documentation
       <term><option>--sync-only</option></term>
       <listitem>
        <para>
-        Safely write all database files to disk and exit.  This does not
+        Safely write all database cluster files to disk and exit.  This does not
         perform any of the normal <application>initdb</application> operations.
         Generally, this option is useful for ensuring reliable recovery after
         changing <xref linkend="guc-fsync"/> from <literal>off</literal> to
@@ -374,10 +377,11 @@ PostgreSQL documentation
       <term><option>--username=<replaceable class="parameter">username</replaceable></option></term>
       <listitem>
        <para>
-        Selects the user name of the database superuser. This defaults
-        to the name of the effective user running
+        Selects the user name of the
+        <glossterm linkend="glossary-bootstrap-superuser">boostrap superuser</glossterm>.
+        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
+        bootstrap superuser's name is, but one might choose to keep the
         customary name <systemitem>postgres</systemitem>, even if the operating
         system user's name is different.
        </para>
@@ -390,7 +394,7 @@ PostgreSQL documentation
       <listitem>
        <para>
         Makes <command>initdb</command> prompt for a password
-        to give the database superuser. If you don't plan on using 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.
@@ -422,7 +426,7 @@ PostgreSQL documentation
 
        <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
+        WAL log shipping or archiving.  Also, in clusters 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.
