diff --git a/doc/src/sgml/acronyms.sgml b/doc/src/sgml/acronyms.sgml
index f638665dc9..b05c065546 100644
--- a/doc/src/sgml/acronyms.sgml
+++ b/doc/src/sgml/acronyms.sgml
@@ -766,7 +766,7 @@
     <term><acronym>XID</acronym></term>
     <listitem>
      <para>
-      <link linkend="datatype-oid">Transaction Identifier</link>
+      <glossterm linkend="glossary-xid">Transaction identifier</glossterm>
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index 8c6cb6e942..d4255215aa 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -7,8 +7,22 @@
  </para>
 
  <glosslist>
+  <glossentry id="glossary-acid">
+   <glossterm>ACID</glossterm>
+   <glossdef>
+    <para>
+     <glossterm linkend="glossary-atomicity">Atomicity</glossterm>,
+     <glossterm linkend="glossary-consistency">consistency</glossterm>,
+     <glossterm linkend="glossary-isolation">isolation</glossterm>, and
+     <glossterm linkend="glossary-durability">durability</glossterm>.
+     A set of properties of database transactions intended to guarantee validity
+     in concurrent operation and even in event of errors, power failures, etc.
+    </para>     
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-aggregate">
-   <glossterm>Aggregate Function</glossterm>
+   <glossterm>Aggregate function</glossterm>
    <glossdef>
     <para>
      A <glossterm linkend="glossary-function">function</glossterm> that
@@ -35,11 +49,15 @@
      to make decisions about how to execute
      <glossterm linkend="glossary-query">queries</glossterm>.
     </para>
+    <para>
+     (Don't confuse this term with the <literal>ANALYZE</literal> option
+     to the <xref linkend="sql-explain"/> command.)
+    </para>
    </glossdef>
   </glossentry>
 
   <glossentry>
-   <glossterm>Analytic Function</glossterm>
+   <glossterm>Analytic function</glossterm>
    <glosssee otherterm="glossary-window-function" />
   </glossentry>
 
@@ -106,8 +124,8 @@
    <glossdef>
     <para>
      Process of an <glossterm linkend="glossary-instance">instance</glossterm>
-     which act on behalf of <glossterm linkend="glossary-session">client sessions</glossterm>
-     and handle their requests.
+     which acts on behalf of a <glossterm linkend="glossary-session">client session</glossterm>
+     and handles its requests.
     </para>
     <para>
      (Don't confuse this term with the similar terms
@@ -118,7 +136,7 @@
   </glossentry>
 
   <glossentry id="glossary-background-worker">
-   <glossterm>Background Worker (process)</glossterm>
+   <glossterm>Background worker (process)</glossterm>
    <glossdef>
     <para>
      Process within an <glossterm linkend="glossary-instance">instance</glossterm>,
@@ -138,10 +156,11 @@
   </glossentry>
 
   <glossentry id="glossary-background-writer">
-   <glossterm>Background Writer (process)</glossterm>
+   <glossterm>Background writer (process)</glossterm>
    <glossdef>
     <para>
-     A process that continuously writes dirty pages from
+     A process that continuously writes dirty
+     <glossterm linkend="glossary-data-page">data pages</glossterm> from
      <glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
      the file system.  It wakes up periodically, but works only for a short
      period in order to distribute its expensive <acronym>I/O</acronym>
@@ -155,6 +174,16 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-bloat">
+   <glossterm>Bloat</glossterm>
+   <glossdef>
+    <para>
+     Space in data pages which does not contain relevant data,
+     such as unused (free) space or outdated row versions.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-cast">
    <glossterm>Cast</glossterm>
    <glossdef>
@@ -190,7 +219,7 @@
   </glossentry>
 
   <glossentry id="glossary-check-constraint">
-   <glossterm>Check Constraint</glossterm>
+   <glossterm>Check constraint</glossterm>
    <glossdef>
     <para>
      A type of <glossterm linkend="glossary-constraint">constraint</glossterm>
@@ -208,15 +237,6 @@
    </glossdef>
   </glossentry>
 
-  <glossentry id="glossary-checkpointer">
-   <glossterm>Checkpointer (process)</glossterm>
-   <glossdef>
-    <para>
-     A specialized process responsible for executing checkpoints.
-    </para>
-   </glossdef>
-  </glossentry>
-
   <glossentry id="glossary-checkpoint">
    <glossterm>Checkpoint</glossterm>
    <glossdef>
@@ -244,6 +264,15 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-checkpointer">
+   <glossterm>Checkpointer (process)</glossterm>
+   <glossdef>
+    <para>
+     A specialized process responsible for executing checkpoints.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry>
    <glossterm>Class (archaic)</glossterm>
    <glosssee otherterm="glossary-relation" />
@@ -262,27 +291,6 @@
    </glossdef>
   </glossentry>
 
-  <glossentry id="glossary-cluster">
-   <glossterm>Cluster</glossterm>
-   <glossdef>
-    <para>
-     A group of <glossterm linkend="glossary-database">databases</glossterm> plus their
-     <glossterm linkend="glossary-global-sql-object">global SQL objects</glossterm>. The
-     <firstterm>cluster</firstterm> is managed by exactly one
-     <glossterm linkend="glossary-instance">instance</glossterm>. A newly created
-     Cluster will have three databases created automatically. They are
-     <literal>template0</literal>, <literal>template1</literal>, and
-     <literal>postgres</literal>. It is expected that an application will
-     create one or more additional database aside from these three.
-    </para>
-    <para>
-     (Don't confuse the <productname>PostgreSQL</productname>-specific term
-     <glossterm linkend="glossary-cluster">Cluster</glossterm> with the SQL
-     command <command>CLUSTER</command>).
-    </para>
-   </glossdef>
-  </glossentry>
-
   <glossentry id="glossary-column">
    <glossterm>Column</glossterm>
    <glossdef>
@@ -363,7 +371,10 @@
    <glossdef>
     <para>
      A restriction on the values of data allowed within a
-     <glossterm linkend="glossary-table">Table</glossterm>.
+     <glossterm linkend="glossary-table">table</glossterm>,
+     or in attributes of a
+     <!-- XXX Should have term "domain". Need term "type" for that. -->
+     <firstterm>domain</firstterm>.
     </para>
     <para>
      For more information, see
@@ -373,18 +384,18 @@
   </glossentry>
 
   <glossentry>
-   <glossterm>Data Area</glossterm>
+   <glossterm>Data area</glossterm>
    <glosssee otherterm="glossary-data-directory" />
   </glossentry>
 
   <glossentry id="glossary-data-directory">
-   <glossterm>Data Directory</glossterm>
+   <glossterm>Data directory</glossterm>
    <glossdef>
     <para>
      The base directory on the filesystem of a
      <glossterm linkend="glossary-server">server</glossterm> that contains all
      data files and subdirectories associated with a
-     <glossterm linkend="glossary-cluster">cluster</glossterm> with the
+     <glossterm linkend="glossary-instance">instance</glossterm> with the
      exception of <glossterm linkend="glossary-tablespace">tablespaces</glossterm>.
      The environment variable <literal>PGDATA</literal> is commonly used to
      refer to the
@@ -416,15 +427,31 @@
   </glossentry>
 
   <glossentry>
-   <glossterm>Database Server</glossterm>
+   <glossterm>Database server</glossterm>
    <glosssee otherterm="glossary-instance" />
   </glossentry>
 
+  <glossentry id="glossary-data-page">
+   <glossterm>Data page</glossterm>
+   <glossdef>
+    <para>
+     The basic structure used to store relation data.
+     All pages are of the same size.
+     Data pages are typically stored on disk, each in a specific file,
+     and can be read to <glossterm linkend="glossary-shared-memory">shared buffers</glossterm>
+     where they can be modified, becoming
+     <firstterm>dirty</firstterm>.  They get clean by being written down
+     to disk.  New pages, which initially exist in memory only, are also
+     dirty until written.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-datum">
    <glossterm>Datum</glossterm>
    <glossdef>
     <para>
-     The internal representation of one value of a <acronym>SQL</acronym>
+     The internal representation of one value of an <acronym>SQL</acronym>
      data type.
     </para>
    </glossdef>
@@ -434,7 +461,7 @@
    <glossterm>Delete</glossterm>
    <glossdef>
     <para>
-     A <acronym>SQL</acronym> command which removes
+     An <acronym>SQL</acronym> command which removes
      <glossterm linkend="glossary-tuple">rows</glossterm> from a given
      <glossterm linkend="glossary-table">table</glossterm>
      or <glossterm linkend="glossary-relation">relation</glossterm>.
@@ -459,6 +486,11 @@
    </glossdef>
   </glossentry>
 
+  <glossentry>
+   <glossterm>Epoch</glossterm>
+   <glosssee otherterm="glossary-xid" />
+  </glossentry>
+
   <glossentry id="glossary-extension">
    <glossterm>Extension</glossterm>
    <glossdef>
@@ -475,12 +507,13 @@
   </glossentry>
 
   <glossentry id="glossary-file-segment">
-   <glossterm>File Segment</glossterm>
+   <glossterm>File segment</glossterm>
    <glossdef>
     <para>
      A physical file which stores data for a given
      <glossterm linkend="glossary-relation">relation</glossterm>.
-     File segments are limited in size by a configuration value,
+     File segments are limited in size by a configuration value
+     (typically 1 gigabyte),
      so if a relation exceeds that size, it is split into multiple segments.
     </para>
     <para>
@@ -495,14 +528,14 @@
   </glossentry>
 
   <glossentry id="glossary-foreign-data-wrapper">
-   <glossterm>Foreign Data Wrapper</glossterm>
+   <glossterm>Foreign data wrapper</glossterm>
    <glossdef>
     <para>
      A means of representing data that is not contained in the local
      <glossterm linkend="glossary-database">database</glossterm> so that it appears as if were in local
-     <glossterm linkend="glossary-table">table(s)</glossterm>. With a Foreign Data Wrapper it is
+     <glossterm linkend="glossary-table">table(s)</glossterm>. With a foreign data wrapper it is
      possible to define a <glossterm linkend="glossary-foreign-server">foreign server</glossterm> and
-     <glossterm linkend="glossary-foreign-table">foreign table</glossterm>s.
+     <glossterm linkend="glossary-foreign-table">foreign tables</glossterm>.
     </para>
     <para>
      For more information, see
@@ -512,7 +545,7 @@
   </glossentry>
 
   <glossentry id="glossary-foreign-key">
-   <glossterm>Foreign Key</glossterm>
+   <glossterm>Foreign key</glossterm>
    <glossdef>
     <para>
      A type of <glossterm linkend="glossary-constraint">constraint</glossterm>
@@ -527,7 +560,7 @@
   </glossentry>
 
   <glossentry id="glossary-foreign-server">
-   <glossterm>Foreign Server</glossterm>
+   <glossterm>Foreign server</glossterm>
    <glossdef>
     <para>
      A named collection of
@@ -544,7 +577,7 @@
   </glossentry>
 
   <glossentry id="glossary-foreign-table">
-   <glossterm>Foreign Table</glossterm>
+   <glossterm>Foreign table</glossterm>
    <glossdef>
     <para>
      A <glossterm linkend="glossary-relation">relation</glossterm> which appears to have
@@ -564,6 +597,35 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-fork">
+   <glossterm>Fork</glossterm>
+   <glossdef>
+    <para>
+     Each of the separate segmented file sets that a relation stores its
+     data in.  There exist a <firstterm>main fork</firstterm> and two secondary
+     forks: the <glossterm linkend="glossary-fsm">free space map</glossterm>
+     <glossterm linkend="glossary-vm">visibility map</glossterm>.
+    </para>
+   </glossdef>
+  </glossentry>
+
+  <glossentry id="glossary-fsm">
+   <glossterm>Free space map (fork)</glossterm>
+   <glossdef>
+    <para>
+     A storage structure that keeps metadata about each data page in a table's
+     main storage space.  The free space map entry for each space stores the
+     amount of free space that's available for future tuples, and is structured
+     so it is efficient to search for available space for a new tuple of a given
+     size.
+    </para>
+    <para>
+     For more information, see
+     <xref linkend="storage-fsm"/>.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-function">
    <glossterm>Function</glossterm>
    <glossdef>
@@ -579,28 +641,11 @@
    </glossdef>
   </glossentry>
 
-  <glossentry id="glossary-global-sql-object">
-   <glossterm>Global SQL Object</glossterm>
-   <glossdef>
-    <para>
-     <glossterm linkend="glossary-sql-object">SQL objects</glossterm> which do
-     not belong to a specific
-     <glossterm linkend="glossary-database">database</glossterm>.
-    </para>
-    <para>
-     These objects are
-     <glossterm linkend="glossary-role">roles</glossterm>,
-     <glossterm linkend="glossary-tablespace">tablespaces</glossterm>,
-     replication origins, and subscriptions for logical replication.
-    </para>
-   </glossdef>
-  </glossentry>
-
   <glossentry id="glossary-grant">
    <glossterm>Grant</glossterm>
    <glossdef>
     <para>
-     A <acronym>SQL</acronym> command that is used to allow
+     An <acronym>SQL</acronym> command that is used to allow
      <glossterm linkend="glossary-user">users</glossterm> or
      <glossterm linkend="glossary-role">role</glossterm> to access
      specific objects within the <glossterm linkend="glossary-database">database</glossterm>.
@@ -620,7 +665,8 @@
      attributes (i.e. the data) for a
      <glossterm linkend="glossary-relation">relation</glossterm>.
      The heap is realized within
-     <glossterm linkend="glossary-file-segment">segment files</glossterm>.
+     <glossterm linkend="glossary-file-segment">segmented files</glossterm>
+     in the relation's <glossterm linkend="glossary-fork">main fork</glossterm>.
     </para>
    </glossdef>
   </glossentry>
@@ -629,10 +675,11 @@
    <glossterm>Host</glossterm>
    <glossdef>
     <para>
-     A computer that communicates with other hosts over a network.
-     This term can be used to refer to either a
-     <glossterm linkend="glossary-client">client</glossterm>
-     or a <glossterm linkend="glossary-server">server</glossterm>.
+     A computer that communicates with other computers over a network.
+     This is sometimes used as a synonym for
+     <glossterm linkend="glossary-server">server</glossterm>.
+     It is also used to refer to a computer where
+     <glossterm linkend="glossary-client">client processes</glossterm> run.
     </para>
    </glossdef>
   </glossentry>
@@ -659,7 +706,7 @@
    <glossterm>Insert</glossterm>
    <glossdef>
     <para>
-     A <acronym>SQL</acronym> command used to add new data into a
+     An <acronym>SQL</acronym> command used to add new data into a
      <glossterm linkend="glossary-table">table</glossterm>.
     </para>
     <para>
@@ -673,27 +720,28 @@
    <glossterm>Instance</glossterm>
    <glossdef>
     <para>
-     An <glossterm>instance</glossterm> is a group of processes,
-     its supporting <glossterm linkend="glossary-data-directory">storage space</glossterm>,
-     plus their
-     common <glossterm linkend="glossary-shared-memory">shared memory</glossterm>,
-     running on a single <glossterm linkend="glossary-server">server</glossterm>.
-     The <glossterm linkend="glossary-instance">instance</glossterm>
-     handles all key features of a <acronym>DBMS</acronym>: read and write
-     access to files and shared memory, assurance of
-     the <acronym>ACID</acronym> paradigm, <acronym>MVCC</acronym>,
-     <glossterm linkend="glossary-connection">connections</glossterm> to client programs, backup,
-     recovery, replication, privileges, etc.
+     A set of databases and accompanying global SQL objects that are stored in
+     the same <glossterm linkend="glossary-data-directory">data directory</glossterm>
+     in a single <glossterm linkend="glossary-server">server</glossterm>.
+     If running, one
+     <glossterm linkend="glossary-postmaster">postmaster process</glossterm>
+     manages a group of backend and auxiliary processes that communicate
+     using a common <glossterm linkend="glossary-shared-memory">shared memory</glossterm>
+     area.  Many instances can run on the same
+     <glossterm linkend="glossary-server">server</glossterm>
+     as long as their <acronym>TCP</acronym> ports do not conflict.
     </para>
     <para>
-     An <glossterm>instance</glossterm> manages exactly one
-     <glossterm linkend="glossary-cluster">cluster</glossterm>.
+     The instance handles all key features of a <acronym>DBMS</acronym>:
+     read and write access to files and shared memory,
+     assurance of the <acronym>ACID</acronym> properties,
+     <glossterm linkend="glossary-connection">connections</glossterm> to client processes,
+     backup, recovery, replication, privileges, etc.
     </para>
     <para>
-     Many <glossterm>instances</glossterm> can run on the same server as
-     long as their <acronym>TCP/IP</acronym> ports do not conflict.
-     Different instances on a server may use the
-     same or different versions of <productname>PostgreSQL</productname>.
+     In <productname>PostgreSQL</productname>, the term
+     <firstterm>cluster</firstterm> is also sometimes used to refer to an instance.
+     (Don't confuse this term with the SQL command <command>CLUSTER</command>.)
     </para>
    </glossdef>
   </glossentry>
@@ -717,7 +765,7 @@
    <glossterm>Join</glossterm>
    <glossdef>
     <para>
-     A <acronym>SQL</acronym> keyword used in <command>SELECT</command> statements for
+     An <acronym>SQL</acronym> keyword used in <command>SELECT</command> statements for
      combining data from multiple <glossterm linkend="glossary-relation">relations</glossterm>.
     </para>
    </glossdef>
@@ -748,7 +796,7 @@
   </glossentry>
 
   <glossentry id="glossary-log-file">
-   <glossterm>Log File</glossterm>
+   <glossterm>Log file</glossterm>
    <glossdef>
     <para>
      Log files contain human-readable text lines about events.
@@ -761,6 +809,29 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-log-record">
+   <glossterm>Log record</glossterm>
+    <glossdef>
+     <para>
+      Archaic term for a <glossterm linkend="glossary-wal-record">WAL record</glossterm>.
+     </para>
+    </glossdef>
+  </glossentry>
+
+  <glossentry id="glossary-logged">
+   <glossterm>Logged</glossterm>
+   <glossdef>
+    <para>
+     A <glossterm linkend="glossary-table">table</glossterm> is considered
+     <glossterm linkend="glossary-logged">logged</glossterm> if changes to it are sent to the
+     <glossterm linkend="glossary-wal">WAL</glossterm>. By default, all regular
+     tables are logged. A table can be specified as
+     <glossterm linkend="glossary-unlogged">unlogged</glossterm> either at
+     creation time or via the <command>ALTER TABLE</command> command.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-logger">
    <glossterm>Logger (process)</glossterm>
    <glossdef>
@@ -780,29 +851,6 @@
    </glossdef>
   </glossentry>
 
-  <glossentry id="glossary-log-record">
-   <glossterm>Log Record</glossterm>
-    <glossdef>
-     <para>
-      Archaic term for a <glossterm linkend="glossary-wal-record">WAL record</glossterm>.
-     </para>
-    </glossdef>
-  </glossentry>
-
-  <glossentry id="glossary-logged">
-   <glossterm>Logged</glossterm>
-   <glossdef>
-    <para>
-     A <glossterm linkend="glossary-table">table</glossterm> is considered
-     <glossterm linkend="glossary-logged">logged</glossterm> if changes to it are sent to the
-     <glossterm linkend="glossary-wal">WAL</glossterm>. By default, all regular
-     tables are logged. A table can be specified as
-     <glossterm linkend="glossary-unlogged">unlogged</glossterm> either at
-     creation time or via the <command>ALTER TABLE</command> command.
-    </para>
-   </glossdef>
-  </glossentry>
-
   <glossentry>
    <glossterm>Master (server)</glossterm>
    <glosssee otherterm="glossary-primary-server" />
@@ -831,7 +879,7 @@
   </glossentry>
 
   <glossentry id="glossary-materialized-view">
-   <glossterm>Materialized View</glossterm>
+   <glossterm>Materialized view</glossterm>
    <glossdef>
     <para>
      A <glossterm linkend="glossary-relation">relation</glossterm> that is
@@ -869,8 +917,8 @@
    <glossterm>Null</glossterm>
    <glossdef>
     <para>
-     A concept of non-existence that is a central tenet of Relational
-     Database Theory. It represents the absence of value.
+     A concept of non-existence that is a central tenet of relational
+     database theory. It represents the absence of a definite value.
     </para>
    </glossdef>
   </glossentry>
@@ -881,7 +929,7 @@
   </glossentry>
 
   <glossentry id="glossary-parallel-query">
-   <glossterm>Parallel Query</glossterm>
+   <glossterm>Parallel query</glossterm>
    <glossdef>
     <para>
      The ability to handle parts of executing a
@@ -918,7 +966,7 @@
   </glossentry>
 
   <glossentry id="glossary-partitioned-table">
-   <glossterm>Partitioned Table</glossterm>
+   <glossterm>Partitioned table</glossterm>
    <glossdef>
     <para>
      A <glossterm linkend="glossary-relation">relation</glossterm> that is
@@ -960,7 +1008,7 @@
   </glossentry>
 
   <glossentry id="glossary-primary-key">
-   <glossterm>Primary Key</glossterm>
+   <glossterm>Primary key</glossterm>
    <glossdef>
     <para>
      A special case of a
@@ -1011,7 +1059,7 @@
   </glossentry>
 
   <glossentry id="glossary-planner">
-   <glossterm>Query Planner</glossterm>
+   <glossterm>Query planner</glossterm>
    <glossdef>
     <para>
      The part of <productname>PostgreSQL</productname> that is devoted to
@@ -1034,7 +1082,7 @@
   </glossentry>
 
   <glossentry id="glossary-referential-integrity">
-   <glossterm>Referential Integrity</glossterm>
+   <glossterm>Referential integrity</glossterm>
    <glossdef>
     <para>
      A means of restricting data in one <glossterm linkend="glossary-relation">relation</glossterm>
@@ -1055,6 +1103,7 @@
      <glossterm linkend="glossary-attribute">attributes</glossterm>
      defined in a specific order.
      <glossterm linkend="glossary-table">Tables</glossterm>,
+     <glossterm linkend="glossary-sequence">sequences</glossterm>,
      <glossterm linkend="glossary-view">views</glossterm>,
      <glossterm linkend="glossary-foreign-table">foreign tables</glossterm>,
      <glossterm linkend="glossary-materialized-view">materialized views</glossterm>, and
@@ -1068,7 +1117,7 @@
   </glossentry>
 
   <glossentry id="glossary-replica">
-   <glossterm>Replica</glossterm>
+   <glossterm>Replica (server)</glossterm>
    <glossdef>
     <para>
      A <glossterm linkend="glossary-database">database</glossterm> that is paired
@@ -1098,12 +1147,13 @@
   </glossentry>
 
   <glossentry id="glossary-result-set">
-   <glossterm>Result Set</glossterm>
+   <glossterm>Result set</glossterm>
    <glossdef>
     <para>
      A data structure transmitted from a
      <glossterm linkend="glossary-backend">backend process</glossterm> to
-     client program upon the completion of a <acronym>SQL</acronym>
+     a <glossterm linkend="glossary-client">client</glossterm> upon the
+     completion of an <acronym>SQL</acronym>
      command, usually a <command>SELECT</command> but it can be an
      <command>INSERT</command>, <command>UPDATE</command>, or
      <command>DELETE</command> command if the <literal>RETURNING</literal>
@@ -1135,7 +1185,7 @@
     <para>
      A collection of access privileges to the
      <glossterm linkend="glossary-database">instance</glossterm>.
-     Roless are themselves a privilege that can be granted to other roles.
+     Roles are themselves a privilege that can be granted to other roles.
      This is often done for convenience or to ensure completeness
      when multiple <glossterm linkend="glossary-user">users</glossterm> need
      the same privileges.
@@ -1170,7 +1220,7 @@
    <glossterm>Savepoint</glossterm>
    <glossdef>
     <para>
-     A special mark inside the sequence of steps in a
+     A special mark in the sequence of steps in a
      <glossterm linkend="glossary-transaction">transaction</glossterm>.
      Data modifications after this point in time may be reverted
      to the time of the savepoint.
@@ -1186,13 +1236,15 @@
    <glossterm>Schema</glossterm>
    <glossdef>
     <para>
-     A schema is a namespace for <glossterm linkend="glossary-sql-object">SQL objects</glossterm>,
+     A schema is a namespace for
+     <glossterm linkend="glossary-sql-object">SQL objects</glossterm>,
      which all reside in the same
      <glossterm linkend="glossary-database">database</glossterm>.  Each
      SQL object must reside in exactly one schema.
     </para>
     <para>
-     The names of SQL objects of the same type in the same schema are enforced unique.
+     The names of SQL objects of the same type in the same schema are enforced
+     to be unique.
      There is no restriction on reusing a name in multiple schemas.
     </para>
     <para>
@@ -1205,7 +1257,7 @@
    </glossdef>
    <glossdef>
     <para>
-     More generically, the term <firstterm>Schema</firstterm> is used to mean
+     More generically, the term <firstterm>schema</firstterm> is used to mean
      all data descriptions (<glossterm linkend="glossary-table">table</glossterm> definitions,
      <glossterm linkend="glossary-constraint">constraints</glossterm>, comments, etc)
      for a given <glossterm linkend="glossary-database">database</glossterm> or
@@ -1264,7 +1316,10 @@
      A computer on which <productname>PostgreSQL</productname>
      <glossterm linkend="glossary-instance">instances</glossterm> run.
      The term <firstterm>server</firstterm> denotes real hardware, a
-     container, or a Virtual Machine.
+     container, or a <firstterm>virtual machine</firstterm>.
+    </para>
+    <para>
+     This term is sometimes used to refer to an instance or to a host.
     </para>
    </glossdef>
   </glossentry>
@@ -1279,45 +1334,21 @@
    </glossdef>
   </glossentry>
 
-<!-- XXX we should have a much more concise definition
   <glossentry id="glossary-sequence">
    <glossterm>Sequence</glossterm>
    <glossdef>
     <para>
-     A <glossterm linkend="glossary-database">Database</glossterm> object which
-     represents the mathematical concept of a numerical integral sequence.
-     It can be thought of as a <glossterm linkend="glossary-table">Table</glossterm>
-     with exactly one <glossterm linkend="glossary-tuple">Row</glossterm> and
-     one <glossterm linkend="glossary-column">Column</glossterm>. The
-     value stored is known as the current value. A
-     <glossterm linkend="glossary-sequence">Sequence</glossterm> has a defined
-     direction (usually increasing) and an interval step (usually 1).
-     Whenever the <literal>NEXTVAL</literal> pseudo-column of a
-     <glossterm linkend="glossary-sequence">Sequence</glossterm> is accessed,
-     the current value is moved in the defined direction by the defined
-     interval step, that value is returned to the invoking query,
-     and the current value of the sequence is updated to reflect the new value.
-     The value can be updated multiple times in a single query,
-     the net effect being that each row selected will have a different value.
-     Values taken from a
-     <glossterm linkend="glossary-sequence">Sequence</glossterm> are never
-     reverted, even in the case of a
-     <glossterm linkend="glossary-rollback">Rollback</glossterm>, which means
-     that the <glossterm linkend="glossary-sequence">Sequence</glossterm>
-     will never generate the same number twice, which makes it useful for
-     generating
-     <glossterm linkend="glossary-primary-key">Primary Key</glossterm> values.
-    </para>
-    <para>
-     For more information, see
-     <xref linkend="sql-createsequence"/>.
+     A type of relation that is used to generate values.
+     Typically the generated values are sequential non-repeating numbers.
+     They are commonly used to generate surrogate
+     <glossterm linkend="glossary-primary-key">primary key</glossterm>
+     values.
     </para>
    </glossdef>
   </glossentry>
--->
 
   <glossentry id="glossary-shared-memory">
-   <glossterm>Shared Memory</glossterm>
+   <glossterm>Shared memory</glossterm>
    <glossdef>
     <para>
      <acronym>RAM</acronym> which is used by the processes common to an
@@ -1342,28 +1373,32 @@
    </glossdef>
   </glossentry>
 
+  <glossentry>
+   <glossterm>Standby (server)</glossterm>
+   <glosssee otherterm="glossary-replica" />
+  </glossentry>
+
   <glossentry id="glossary-sql-object">
    <glossterm>SQL Object</glossterm>
     <glossdef>
      <para>
-      A <glossterm linkend="glossary-table">table</glossterm>,
-      <glossterm linkend="glossary-view">view</glossterm>,
-      <glossterm linkend="glossary-materialized-view">materialized view</glossterm>,
-      <glossterm linkend="glossary-index">index</glossterm>,
-      <glossterm linkend="glossary-constraint">constraint</glossterm>,
-<!-- XXX define sequence <glossterm linkend="glossary-sequence"> --> sequence,
-      <glossterm linkend="glossary-function">function</glossterm>,
-      <glossterm linkend="glossary-procedure">procedure</glossterm>,
-      <glossterm linkend="glossary-trigger">trigger</glossterm>,
-      data type, or operator. Every one of those SQL objects
-      belong to exactly one <glossterm linkend="glossary-schema">Schema</glossterm>.
-    </para>
-    <para>
-     There also exist SQL objects that do not belong to schemas; those include
-     <glossterm linkend="glossary-extension">extensions</glossterm>,
-     <glossterm linkend="glossary-cast">data type cases</glossterm>,
-     and
-     <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrappers</glossterm>.
+      Any object that can be created with a <command>CREATE</command>
+      command.  Most objects are specific to one database, and are commonly
+      known as <firstterm>local objects</firstterm>.
+      <glossterm linkend="glossary-role">Roles</glossterm>,
+      <glossterm linkend="glossary-tablespace">tablespaces</glossterm>,
+      replication origins, subscriptions for logical replication, and
+      databases themselves are not local SQL objects since they exist
+      entirely outside of any specific database;
+      they are called <firstterm>global objects</firstterm>.
+     </para>
+     <para>
+      Most local objects belong to a specific
+      <glossterm linkend="glossary-schema">schema</glossterm> in their containing database.
+      There also exist local objects that do not belong to schemas; some examples are
+      <glossterm linkend="glossary-extension">extensions</glossterm>,
+      <glossterm linkend="glossary-cast">data type casts</glossterm>, and
+      <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrappers</glossterm>.
     </para>
     <para>
       For more information, see
@@ -1373,7 +1408,7 @@
   </glossentry>
 
   <glossentry id="glossary-sql-standard">
-   <glossterm>SQL Standard</glossterm>
+   <glossterm>SQL standard</glossterm>
    <glossdef>
     <para>
      A series of documents that define the <acronym>SQL</acronym> language.
@@ -1382,11 +1417,11 @@
   </glossentry>
 
   <glossentry id="glossary-stats-collector">
-   <glossterm>Stats Collector</glossterm>
+   <glossterm>Stats collector</glossterm>
    <glossdef>
     <para>
      This process collects statistical information about the
-     <glossterm linkend="glossary-cluster">Cluster</glossterm>'s activities.
+     <glossterm linkend="glossary-instance">instance</glossterm>'s activities.
     </para>
     <para>
       For more information, see
@@ -1396,22 +1431,21 @@
   </glossentry>
 
   <glossentry id="glossary-system-catalog">
-   <glossterm>System Catalog</glossterm>
+   <glossterm>System catalog</glossterm>
    <glossdef>
     <para>
      A collection of <glossterm linkend="glossary-table">tables</glossterm>
      which describe the structure of all
      <glossterm linkend="glossary-sql-object">SQL objects</glossterm>
-     of each <glossterm linkend="glossary-database">database</glossterm>
-     and the <glossterm linkend="glossary-global-sql-object">global SQL objects</glossterm>
-     of the <glossterm linkend="glossary-cluster">cluster</glossterm>.
+     of the instance.
      The system catalog resides in the schema <literal>pg_catalog</literal>.
      These tables contain data in internal representation and are
      not typically considered useful for user examination;
      a number of user-friendlier <glossterm linkend="glossary-view">views</glossterm>
      also in schema <literal>pg_catalog</literal> offer more convenient access to
      some of that information, while additional tables and views
-     exist in schema <literal>information_schema</literal> that expose some
+     exist in schema <literal>information_schema</literal>
+     (see <xref linkend="information-schema" />) that expose some
      of the same and additional information as mandated by the
      <glossterm linkend="glossary-sql-standard">SQL standard</glossterm>.
     </para>
@@ -1431,7 +1465,7 @@
      <glossterm linkend="glossary-attribute">attributes</glossterm>, in the same
      order, having the same name and type per position).
      A table is the most common form of
-     <glossterm linkend="glossary-relation">Relation</glossterm> in
+     <glossterm linkend="glossary-relation">relation</glossterm> in
      <productname>PostgreSQL</productname>.
     </para>
     <para>
@@ -1461,7 +1495,7 @@
   </glossentry>
 
   <glossentry id="glossary-temporary-table">
-   <glossterm>Temporary Table</glossterm>
+   <glossterm>Temporary table</glossterm>
    <glossdef>
     <para>
      <glossterm linkend="glossary-table">Tables</glossterm> that exist either
@@ -1499,6 +1533,30 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-xid">
+   <glossterm>Transaction ID</glossterm>
+   <glossdef>
+    <para>
+     The numerical, unique, sequentially-assigned identifier that each
+     transaction receives when it first causes a database modification.
+     Frequently abbreviated <firstterm>xid</firstterm>.
+     When stored on disk, xids are only 32-bits wide, so only 
+     approximately four billion write transactions IDs can be generated;
+     to permit the system to run for longer than that would allow,
+     <firstterm>epochs</firstterm> are used, also 32 bits wide.
+     When the counter reaches the maximum xid value, it starts over at
+     <literal>3</literal> (values under that are reserved) and the
+     <firstterm>epoch</firstterm> value is incremented by one.
+     In some contexts, both the epoch and xid values are
+     considered together as a single 64-bit value.
+    </para>
+    <para>
+     For more information, see
+     <xref linkend="datatype-oid"/>.
+    </para>
+   </glossdef>
+  </glossentry>
+
   <glossentry id="glossary-trigger">
    <glossterm>Trigger</glossterm>
    <glossdef>
@@ -1508,7 +1566,7 @@
      <command>UPDATE</command>, <command>DELETE</command>,
      <command>TRUNCATE</command>) is applied to a
      <glossterm linkend="glossary-relation">relation</glossterm>.
-     A Trigger executes within the same
+     A trigger executes within the same
      <glossterm linkend="glossary-transaction">transaction</glossterm> as the
      statement which invoked it, and if the function fails, then the invoking
      statement also fails.
@@ -1535,7 +1593,7 @@
   </glossentry>
 
   <glossentry id="glossary-unique-constraint">
-   <glossterm>Unique Constraint</glossterm>
+   <glossterm>Unique constraint</glossterm>
    <glossdef>
     <para>
      A type of <glossterm linkend="glossary-constraint">constraint</glossterm>
@@ -1577,7 +1635,7 @@
    <glossterm>Update</glossterm>
    <glossdef>
     <para>
-     A <acronym>SQL</acronym> command used to modify
+     An <acronym>SQL</acronym> command used to modify
      <glossterm linkend="glossary-tuple">rows</glossterm>
      that may already exist in a specified <glossterm linkend="glossary-table">table</glossterm>.
      It cannot create or remove rows.
@@ -1621,7 +1679,7 @@
     <para>
      The process of removing outdated <glossterm linkend="glossary-tuple">tuple
      versions</glossterm> from tables, and other closely related
-     garbage-collection-like processing required by <productname>PostgreSQL</productname>'s
+     processing required by <productname>PostgreSQL</productname>'s
      implementation of <glossterm linkend="glossary-mvcc">MVCC</glossterm>.
      This can be initiated through the use of
      the <command>VACUUM</command> command, but can also be handled automatically
@@ -1651,8 +1709,28 @@
    </glossdef>
   </glossentry>
 
+  <glossentry id="glossary-vm">
+   <glossterm>Visibility map (fork)</glossterm>
+   <glossdef>
+    <para>
+     A storage structure that keeps metadata about each data page
+     in a table's main storage space.  The visibility map entry for
+     each page stores two bits: the first one
+     (<literal>all-visible</literal>) indicates that all tuples
+     in the page are visible to all transactions.  The second one
+     (<literal>all-frozen</literal>) indicate that all tuples
+     in the page are marked frozen.
+    </para>
+   </glossdef>
+  </glossentry>
+
+  <glossentry>
+   <glossterm>WAL</glossterm>
+   <glosssee otherterm="glossary-wal" />
+  </glossentry>
+
   <glossentry id="glossary-wal-archiver">
-   <glossterm>WAL Archiver (process)</glossterm>
+   <glossterm>WAL archiver (process)</glossterm>
    <glossdef>
     <para>
      A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm>
@@ -1667,7 +1745,7 @@
   </glossentry>
 
   <glossentry id="glossary-wal-file">
-   <glossterm>WAL File</glossterm>
+   <glossterm>WAL file</glossterm>
    <glossdef>
     <para>
      Also known as <firstterm>WAL segment</firstterm> or
@@ -1678,7 +1756,7 @@
      and are written in sequential order, interspersing changes
      as they occur in multiple simultaneous sessions.
      If the system crashes, the files are read in order, and each of the
-     changes are replayed to restore the system to the state as it was
+     changes is replayed to restore the system to the state as it was
      before the crash.
     </para>
     <para>
@@ -1696,13 +1774,8 @@
    </glossdef>
   </glossentry>
 
-  <glossentry>
-   <glossterm>WAL</glossterm>
-   <glosssee otherterm="glossary-wal" />
-  </glossentry>
-
   <glossentry id="glossary-wal-record">
-   <glossterm>WAL Record</glossterm>
+   <glossterm>WAL record</glossterm>
    <glossdef>
     <para>
      A low-level description of an individual data change.
@@ -1719,17 +1792,17 @@
   </glossentry>
 
   <glossentry>
-   <glossterm>WAL Segment</glossterm>
+   <glossterm>WAL segment</glossterm>
    <glosssee otherterm="glossary-wal-file" />
   </glossentry>
 
   <glossentry id="glossary-wal-writer">
-  <glossterm>WAL Writer (process)</glossterm>
+  <glossterm>WAL writer (process)</glossterm>
   <glossdef>
    <para>
     A process that writes <glossterm linkend="glossary-wal-record">WAL records</glossterm>
-    from <glossterm id="linkend-shared-memory">shared memory</glossterm> to
-    <glossterm id="linkend-wal-file">WAL files</glossterm>.
+    from <glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
+    <glossterm linkend="glossary-wal-file">WAL files</glossterm>.
    </para>
    <para>
     For more information, see
@@ -1739,7 +1812,7 @@
   </glossentry>
 
   <glossentry id="glossary-window-function">
-   <glossterm>Window Function</glossterm>
+   <glossterm>Window function</glossterm>
    <glossdef>
     <para>
      A type of <glossterm linkend="glossary-function">function</glossterm> whose
@@ -1759,7 +1832,7 @@
   </glossentry>
 
   <glossentry id="glossary-wal">
-   <glossterm>Write-Ahead Log</glossterm>
+   <glossterm>Write-ahead log</glossterm>
    <glossdef>
     <para>
      The journal that keeps track of the changes in the
