I gave this a look.  I first reformatted it so I could read it; that's
0001.  Second I changed all the long <link> items into <xref>s, which
are shorter and don't have to repeat the title of the refered to page.
(Of course, this changes the link to be in the same style as every other
link in our documentation; some people don't like it. But it's our
style.)

There are some mistakes.  "Tupple" is most glaring one -- not just the
typo but also the fact that it goes to sql-revoke.  A few definitions
we'll want to modify.  Nothing too big.  In general I like this work and
I think we should have it in pg13.

Please bikeshed the definition of your favorite term, and suggest what
other terms to add.  No pointing out of mere typos yet, please.

I think we should have the terms Consistency, Isolation, Durability.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>From 72f7a425fcd9a803010294e6974ecd7680a9aee6 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Thu, 19 Mar 2020 18:29:12 -0300
Subject: [PATCH 1/2] glossary

---
 doc/src/sgml/filelist.sgml |    1 +
 doc/src/sgml/glossary.sgml | 1441 ++++++++++++++++++++++++++++++++++++
 doc/src/sgml/postgres.sgml |    1 +
 3 files changed, 1443 insertions(+)
 create mode 100644 doc/src/sgml/glossary.sgml

diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml
index 3da2365ea9..504c8a6326 100644
--- a/doc/src/sgml/filelist.sgml
+++ b/doc/src/sgml/filelist.sgml
@@ -170,6 +170,7 @@
 
 <!ENTITY limits     SYSTEM "limits.sgml">
 <!ENTITY acronyms   SYSTEM "acronyms.sgml">
+<!ENTITY glossary   SYSTEM "glossary.sgml">
 
 <!ENTITY features-supported   SYSTEM "features-supported.sgml">
 <!ENTITY features-unsupported SYSTEM "features-unsupported.sgml">
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
new file mode 100644
index 0000000000..cf20fb759c
--- /dev/null
+++ b/doc/src/sgml/glossary.sgml
@@ -0,0 +1,1441 @@
+<appendix id="glossary">
+ <title>Glossary</title>
+ <para>
+  This is a list of terms and their meaning in the context of
+  <productname>PostgreSQL</productname> and relational database
+  systems in general.
+ </para>
+  <glosslist>
+   <glossentry id="glossary-aggregate">
+    <glossterm>Aggregate</glossterm>
+    <glossdef>
+     <para>
+      To combine a collection of data values into a single value, whose
+      value may not be of the same type as the original values.
+      <glossterm>Aggregate</glossterm> <glossterm>Functions</glossterm>
+      combine multiple <glossterm>Rows</glossterm> that share a common set
+      of values into one <glossterm>Row</glossterm>, which means that the
+      only data visible in the values in common, and the aggregates of the
+      non-common data.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="functions-aggregate">Aggregate Functions</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-analytic">
+    <glossterm>Analytic</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Function</glossterm> whose computed value can reference
+      values found in nearby <glossterm>Rows</glossterm> of the same
+      <glossterm>Result Set</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="tutorial-window">Window Functions</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-archiver">
+    <glossterm>Archiver</glossterm>
+    <glossdef>
+     <para>
+      A process that backs up <glossterm>WAL Files</glossterm> in order to
+      reclaim space on the file system.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="continuous-archiving">Backup and Restore: Continuous Archiving and Point-in-Time Recovery (PITR)</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-atomic">
+    <glossterm>Atomic</glossterm>
+    <glossdef>
+     <para>
+      In reference to the value of an <glossterm>Attribute</glossterm> or
+      <glossterm>Datum</glossterm>: cannot be broken down into smaller
+      components.
+     </para>
+     <para>
+      In reference to an operation: An event that cannot be completed in
+      part: it must either entirely succeed or entirely fail. A series of
+      <acronym>SQL</acronym> statements can be combined into a
+      <glossterm>Transaction</glossterm>, and that
+      <glossterm>transaction</glossterm> is said to be
+      <glossterm>Atomic</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-attribute">
+    <glossterm>Attribute</glossterm>
+    <glossdef>
+     <para>
+      An element with a certain name and data type found within a
+      <glossterm>Tuple</glossterm> or <glossterm>Table</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-autovacuum">
+    <glossterm>Autovacuum</glossterm>
+    <glossdef>
+     <para>
+      Processes that remove outdated <acronym>MVCC</acronym>
+      <glossterm>Records</glossterm> of the <glossterm>Heap</glossterm> and
+      <glossterm>Index</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="routine-vacuuming">Routine Database Maintenance Tasks: Routine Vacuuming</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-backend-process">
+    <glossterm>Backend Process</glossterm>
+    <glossdef>
+     <para>
+      Processes of an <glossterm>Instance</glossterm> which act on behalf of
+      client <glossterm>Connections</glossterm> and handle their requests.
+     </para>
+     <para>
+      (Don't confuse this term with the similar terms <glossterm>Background
+      Worker</glossterm> or <glossterm>Background Writer</glossterm>).
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-backend-server">
+    <glossterm>Backend Server</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>Instance</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-background-worker">
+    <glossterm>Background Worker</glossterm>
+    <glossdef>
+     <para>
+      Individual processes within an <glossterm>Instance</glossterm>, which
+      run system- or user-supplied code. Typical use cases are processes
+      which handle parts of an <acronym>SQL</acronym> query to take
+      advantage of parallel execution on servers with multiple
+      <acronym>CPUs</acronym>.
+    </para>
+    <para>
+     For more information, see
+     <link linkend="bgworker">Background Worker Processes</link>.
+    </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-background-writer">
+    <glossterm>Background Writer</glossterm>
+    <glossdef>
+     <para>
+      Writes continuously dirty pages from <glossterm>Shared
+      Memory</glossterm> to the file system. It starts periodically, but
+      works only for a short period in order to distribute expensive
+      <acronym>I/O</acronym> activity over time instead of generating fewer
+      large <acronym>I/O</acronym> peaks which could block other processes.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="runtime-config-resource">Server Configuration: Resource Consumption</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-cast">
+    <glossterm>Cast</glossterm>
+    <glossdef>
+     <para>
+      A conversion of a <glossterm>Datum</glossterm> from its current data
+      type to another data type.
+     </para>
+    </glossdef>
+   </glossentry>
+
+ <glossentry id="glossary-catalog">
+    <glossterm>Catalog</glossterm>
+    <glossdef>
+     <para>
+      The <acronym>SQL</acronym> standard uses this standalone term to
+      indicate what is called a <glossterm>Database</glossterm> in
+      <productname>PostgreSQL</productname>'s terminology.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-check-constraint">
+    <glossterm>Check Constraint</glossterm>
+    <glossdef>
+     <para>
+      A type of <glossterm>Constraint</glossterm> defined on a
+      <glossterm>Relation</glossterm> which restricts the values allowed in
+      one or more <glossterm>Attributes</glossterm>. The <glossterm>Check
+      Constraint</glossterm> can make reference to any
+      <glossterm>Attribute</glossterm> in the
+      <glossterm>Relation</glossterm>, but cannot reference other
+      <glossterm>Rows</glossterm> of the same
+      <glossterm>Relation</glossterm> or other
+      <glossterm>Relations</glossterm>.
+     </para>
+    <para>
+     For more information, see
+     <link linkend="ddl-constraints">Constraints</link>.
+    </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-checkpointer">
+    <glossterm>Checkpointer</glossterm>
+    <glossdef>
+     <para>
+      A process that writes dirty pages and <glossterm>WAL
+      Records</glossterm> to the file system and creates a special
+      checkpoint record. This process is initiated when predefined
+      conditions are met, such as a specified amount of time has passed, or
+      a certain volume of records have been collected.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-checkpoint">
+    <glossterm>Checkpoint</glossterm>
+    <glossdef>
+     <para>
+      A <link linkend="sql-checkpoint"> Checkpoint</link> is a point in time
+      when all older dirty pages of the <glossterm>Shared
+      Memory</glossterm>, all older <glossterm>WAL records</glossterm>, and
+      a special <glossterm>Checkpoint record</glossterm> have been written
+      and flushed to disk.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-cluster">
+    <glossterm>Cluster</glossterm>
+    <glossdef>
+     <para>
+      A group of <glossterm>Database</glossterm>s plus their
+      <glossterm>Global SQL Objects</glossterm>. The
+      <glossterm>Cluster</glossterm> is managed by exactly one
+      <glossterm>Instance</glossterm>. A newly created
+      <glossterm>Cluster</glossterm> will have three
+      <glossterm>Databases</glossterm> 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 <glossterm>Databases</glossterm> aside
+      from these three.
+     </para>
+     <para>
+      Don't confuse the <productname>PostgreSQL</productname> specific term
+      <glossterm>Cluster</glossterm> with the SQL command
+      <literal>CLUSTER</literal>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-column">
+    <glossterm>Column</glossterm>
+    <glossdef>
+     <para>
+      An <glossterm>Attribute</glossterm> found in a
+      <glossterm>Table</glossterm> or <glossterm>View</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-commit">
+    <glossterm>Commit</glossterm>
+    <glossdef>
+     <para>
+      The act of finalizing a <glossterm>Transaction</glossterm> within the
+      <glossterm>Database</glossterm>.
+     </para>
+    <para>
+     For more information, see
+     <link linkend="sql-commit">SQL Commands: COMMIT</link>.
+    </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-concurrency">
+    <glossterm>Concurrency</glossterm>
+    <glossdef>
+     <para>
+      The concept that multiple independent operations happen within the
+      <glossterm>Database</glossterm> at the same time.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-connection">
+    <glossterm>Connection</glossterm>
+    <glossdef>
+     <para>
+      A <acronym>TCP/IP</acronym> or socket line for inter-process
+      communication. If the two involved processes reside on different
+      servers, <acronym>TCP/IP</acronym> must be used.  Otherwise both
+      techniques are possible.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-constraint">
+    <glossterm>Constraint</glossterm>
+    <glossdef>
+     <para>
+      A concept of restricting the values of data allowed within a
+      <glossterm>Table</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="ddl-constraints">Constraints</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-data-area">
+    <glossterm>Data Area</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>Data Directory</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-data-directory">
+    <glossterm>Data Directory</glossterm>
+    <glossdef>
+     <para>
+      The base directory on the filesystem of a
+      <glossterm>Server</glossterm> that contains all data files and
+      subdirectories associated with a <glossterm>Cluster</glossterm> with
+      the exception of tablespaces. The environment variable
+      <literal>PGDATA</literal> often &mdash; but not always &mdash; referes to the
+      <glossterm>Data Directory</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="storage-file-layout">Database Physical Storage: Database File Layout</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-database">
+    <glossterm>Database</glossterm>
+    <glossdef>
+     <para>
+      A named collection of <glossterm>SQL Objects</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-database-server">
+    <glossterm>Database Server</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>Instance</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-datum">
+    <glossterm>Datum</glossterm>
+    <glossdef>
+     <para>
+      The internal representation of a <acronym>SQL</acronym> data type.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-delete">
+    <glossterm>Delete</glossterm>
+    <glossdef>
+     <para>
+      A <acronym>SQL</acronym> command whose purpose is to remove
+      <glossterm>Rows</glossterm> from a given <glossterm>Table</glossterm>
+      or <glossterm>Relation</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-delete">SQL Commands: DELETE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-file-segment">
+    <glossterm>File Segment</glossterm>
+    <glossdef>
+     <para>
+       If a heap or index file grows in size over 1 GB, it will be split
+       into multiple physical files. These files are called <glossterm>File
+       Segments</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="storage-file-layout">Database Physical Storage: Database File Layout</link>.
+     </para>
+     <para>
+      (Don't confuse this term with the similar term
+      <glossterm>WAL Segment</glossterm>).
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-foreign-data-wrapper">
+    <glossterm>Foreign Data Wrapper</glossterm>
+    <glossdef>
+     <para>
+      A means of representing data that is not contained in the local
+      <glossterm>Database</glossterm> as if were in local
+      <glossterm>Table</glossterm>(s). With a Foreign Data Wrapper it is
+      possible to define a <glossterm>Foreign Server</glossterm> and
+      <glossterm>Foreign Tables</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createforeigndatawrapper">SQL Commands: CREATE FOREIGN DATA WRAPPER</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-foreign-key">
+    <glossterm>Foreign Key</glossterm>
+    <glossdef>
+     <para>
+      A type of <glossterm>Constraint</glossterm> defined on one or more
+      <glossterm>Column</glossterm>s in a <glossterm>Table</glossterm> which
+      requires the value in those <glossterm>Column</glossterm>s to uniquely
+      identify a <glossterm>Row</glossterm> in the specified
+      <glossterm>Table</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-foreign-server">
+    <glossterm>Foreign Server</glossterm>
+    <glossdef>
+     <para>
+      A named collection of <glossterm>Foreign Tables</glossterm> which all
+      use the same <glossterm>Foreign Data Wrapper</glossterm> and have
+      other configuration values in common.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createserver">SQL Commands: CREATE SERVER</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-foreign-table">
+    <glossterm>Foreign Table</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Relation</glossterm> which appears to have
+      <glossterm>Rows</glossterm> and <glossterm>Columns</glossterm> similar
+      to a regular <glossterm>Table</glossterm>, but will forward requests
+      for data through its <glossterm>Foreign Data Wrapper</glossterm>,
+      which will return <glossterm>Result Sets</glossterm> structured
+      according to the definition of the <glossterm>Foreign Table</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createforeigntable">SQL Commands: CREATE FOREIGN TABLE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-function">
+    <glossterm>Function</glossterm>
+    <glossdef>
+     <para>
+      Any pre-defined transformation of data. Many
+      <glossterm>Functions</glossterm> are already defined within
+      <productname>PostgreSQL</productname> itself, but can also be
+      user-defined.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createfunction">SQL Commands: CREATE FUNCTION</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-global-sql-object">
+    <glossterm>Global SQL Object</glossterm>
+    <glossdef>
+     <para>
+     <!-- FIXME -->
+      Not all <glossterm>SQL Objects</glossterm> belong to a certain
+      <glossterm>Schema</glossterm>. Some belong to the complete
+      <glossterm>Database</glossterm>, or even to the complete
+      <glossterm>Cluster</glossterm>. These are referred to as
+      <glossterm>Global SQL Objects</glossterm>. Collations and Extensions
+      such as <glossterm>Foreign Data Wrappers</glossterm> reside at the
+      <glossterm>Database</glossterm> level; <glossterm>Database</glossterm>
+      names, <glossterm>Roles</glossterm>,
+      <glossterm>Tablespaces</glossterm>, <glossterm>Replication</glossterm>
+      origins, and subscriptions for logical
+      <glossterm>Replication</glossterm> at the
+      <glossterm>Cluster</glossterm> level.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-grant">
+    <glossterm>Grant</glossterm>
+    <glossdef>
+     <para>
+      A <acronym>SQL</acronym> command that is used to enable
+      <glossterm>Users</glossterm> or <glossterm>Roles</glossterm> to access
+      specific objects within the <glossterm>Database</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-grant">SQL Commands: GRANT</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-heap">
+    <glossterm>Heap</glossterm>
+    <glossdef>
+     <para>
+      Contains the original values of <glossterm>Row</glossterm> attributes
+      (i.e. the data). The <glossterm>Heap</glossterm> is realized within
+      <glossterm>Database</glossterm> files and mirrored in
+      <glossterm>Shared Memory</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-host">
+    <glossterm>Host</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>Server</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-index">
+    <glossterm>Index</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Relation</glossterm> that contains data derived from a
+      <glossterm>Table</glossterm> (or <glossterm>Relation</glossterm> such
+      as a <glossterm>Materialized View</glossterm>). It's internal
+      structure supports very fast retrieval of and access to the original
+      data.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createindex">SQL Commands: CREATE INDEX</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-insert">
+    <glossterm>Insert</glossterm>
+    <glossdef>
+     <para>
+      A <acronym>SQL</acronym> command used to add new data into a
+      <glossterm>Table</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-insert">SQL Commands: INSERT</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-instance">
+    <glossterm>Instance</glossterm>
+    <glossdef>
+     <para>
+      An <glossterm>Instance</glossterm> is a group of processes plus their
+      common <glossterm>Shared Memory</glossterm> running on a single
+      <glossterm>Server</glossterm>. The <glossterm>Instance</glossterm>
+      handles all key features of a <acronym>DBMS</acronym>: read and write
+      access to files and <glossterm>Shared Memory</glossterm>, assurance of
+      the <acronym>ACID</acronym> paradigm, <acronym>MVCC</acronym>,
+      <glossterm>Connections</glossterm> to client programms, backup,
+      recovery, replication, privileges, etc.
+     </para>
+     <para>
+      An <glossterm>Instance</glossterm> manages exactly one
+      <glossterm>Cluster</glossterm>.
+     </para>
+     <para>
+      Many <glossterm>Instances</glossterm> can run on the same server as
+      long as they use different <acronym>IP</acronym> ports and manage
+      different <glossterm>Cluster</glossterm>s. Different
+      <glossterm>Instances</glossterm> on a server may use the same or
+      different versions of <productname>PostgreSQL</productname>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-join">
+    <glossterm>Join</glossterm>
+    <glossdef>
+     <para>
+      A technique used with <command>SELECT</command> statements for
+      correlating data in one or more <glossterm>Relations</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-key">
+    <glossterm>Key</glossterm>
+    <glossdef>
+     <para>
+      A means of identifying a <glossterm>Row</glossterm> within a
+      <glossterm>Table</glossterm> or <glossterm>Relation</glossterm> by
+      values contained within one or more <glossterm>Attributes</glossterm>
+      in that <glossterm>Table</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-lock">
+    <glossterm>Lock</glossterm>
+    <glossdef>
+     <para>
+      A mechanism for one process temporarily preventing data from being
+      manipulated by any other process.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-log-file">
+    <glossterm>Log File</glossterm>
+    <glossdef>
+     <para>
+      <link linkend="logfile-maintenance">LOG files</link> contain readable
+      text lines about serious and non-serious events, e.g.: use of wrong
+      password, long-running queries, ... .
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-log-writer">
+    <glossterm>Log Writer</glossterm>
+    <glossdef>
+     <para>
+      If activated and parameterized, the
+      <link linkend="runtime-config-logging">Log Writer</link> process
+      writes information about database events into the current
+      <glossterm>Log file</glossterm>. When reaching certain time- or
+      volume-dependent criterias, he <!-- FIXME "he"? --> creates a new
+      <glossterm>Log file</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-log-record">
+    <glossterm>Log Record</glossterm>
+     <glossdef>
+      <para>
+       See <glossterm>WAL Record</glossterm>.
+      </para>
+     </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-logged">
+    <glossterm>Logged</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Table</glossterm> is considered
+      <glossterm>Logged</glossterm> if changes to it are sent to the
+      <glossterm>WAL Log</glossterm>. By default, all regular
+      <glossterm>Tables</glossterm> are <glossterm>Logged</glossterm>. A
+      <glossterm>Table</glossterm> can be speficied as unlogged either at
+      creation time or via the <command>ALTER TABLE</command> command. The
+      primary use of unlogged <glossterm>Tables</glossterm> is for storing
+      transient work data that must be shared across processes, but with a
+      final result stored in logged <glossterm>Tables</glossterm>.
+      <glossterm>Temporary Tables</glossterm> are always unlogged.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-master">
+    <glossterm>Master</glossterm>
+    <glossdef>
+     <para>
+      When two or more <glossterm>Databases</glossterm> are linked via
+      <glossterm>Replication</glossterm>, the <glossterm>Server</glossterm>
+      that is considered the authoritative source of information is called
+      the <glossterm>Master</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-materialized">
+    <glossterm>Materialized</glossterm>
+    <glossdef>
+     <para>
+      The act of storing information rather than just the means of accessing
+      the information. This term is used in <glossterm>Materialized
+      Views</glossterm> meaning that the data derived from the
+      <glossterm>View</glossterm> is actually stored on disk separate from
+      the sources of that data. When the term
+      <glossterm>Materialized</glossterm> is used in speaking about
+      mulit-step queries, it means that the data of a given step is stored
+      (in memory, but that storage may spill over onto disk).
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-materialized-view">
+    <glossterm>Materialized View</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Relation</glossterm> that is defined in the same way that
+      a <glossterm>View</glossterm> is, but it stores data in the same way
+      that a <glossterm>Table</glossterm> does. it cannot be modified via
+      <command>INSERT</command>, <command>UPDATE</command>, or
+      <command>DELETE</command> operations.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-creatematerializedview">SQL Commands: CREATE MATERIALIZED VIEW</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-null">
+    <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.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-partition">
+    <glossterm>Partition</glossterm>
+    <glossdef>
+     <para>
+      <!-- FIXME should this use the style used in "atomic"? -->
+      a) A <glossterm>Table</glossterm> that can be queried independently by
+      its own name, but can also be queried via another
+      <glossterm>Table</glossterm>, a partitionend
+      <glossterm>Table</glossterm>, which is a collection of
+      sub-<glossterm>Table</glossterm>s, each capable of holding one defined
+      subset of information that does not overlap with any other
+      <glossterm>Table</glossterm> in the set of
+      <glossterm>Table</glossterm>s.
+     </para>
+     <para>
+      b) A defined boundary used in an <glossterm>Analytic</glossterm>
+      <glossterm>Function</glossterm> to identify which neighboring
+      <glossterm>Rows</glossterm> can be considered by the
+      <glossterm>Function</glossterm> for this particular
+      <glossterm>Row</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-postmaster">
+    <glossterm>Postmaster</glossterm>
+    <glossdef>
+     <para>
+       The very first process of an <glossterm>Instance</glossterm>. It
+       starts the other processes and creates <glossterm>Backend
+       Processes</glossterm> on demand.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="server-start">Server Setup and Operation: Starting the Database Server</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-primary-key">
+    <glossterm>Primary Key</glossterm>
+    <glossdef>
+     <para>
+      A special case of <glossterm>Unique Index</glossterm> defined on a
+      <glossterm>Table</glossterm> or other <glossterm>Relation</glossterm>
+      that also guarantees that all of the <glossterm>Attributes</glossterm>
+      within the <glossterm>Primary Key</glossterm> do not have
+      <glossterm>Null</glossterm> values.  As the name implies, there can be
+      only one <glossterm>Primary Key</glossterm> per
+      <glossterm>Table</glossterm>, though it is possible to have multiple
+      <glossterm>Unique Indexes</glossterm> that also have no
+      <glossterm>Null</glossterm>-capable <glossterm>Attributes</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-procedure">
+    <glossterm>Procedure</glossterm>
+    <glossdef>
+     <para>
+      A defined set of instructions for manipulating data within a
+      <glossterm>Database</glossterm>. <glossterm>Procedure</glossterm> can
+      be written in a variety of programming languages. They may seem
+      similar to <glossterm>Functions</glossterm> but are different in that
+      they must be invoked via the <command>CALL</command> command rather
+      than the <command>SELECT</command> or <command>PERFORM</command>
+      commands, and they are allowed to make transactional statements such
+      as <command>COMMIT</command> and <command>ROLLBACK</command>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createprocedure">SQL Commands: CREATE PROCEDURE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-record">
+    <glossterm>Record</glossterm>
+    <glossdef>
+     <para>
+      See <link linkend="sql-revoke">Tupple</link>.
+     </para>
+     <para>
+      A single <glossterm>Row</glossterm> of a <glossterm>Table</glossterm>
+      or other Relation.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-referential-integrity">
+    <glossterm>Referential Integrity</glossterm>
+    <glossdef>
+     <para>
+      The means of restricting data in one <glossterm>Relation</glossterm>
+      such that it must have matching data in another
+      <glossterm>Relation</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-relation">
+    <glossterm>Relation</glossterm>
+    <glossdef>
+     <para>
+      The generic term for all objects in a <glossterm>Database</glossterm>
+      that have a name and a list of <glossterm>Attributes</glossterm>
+      defined in a specific order. <glossterm>Tables</glossterm>,
+      <glossterm>Views</glossterm>, <glossterm>Foreign Tables</glossterm>,
+      <glossterm>Materialized Views</glossterm>, and
+      <glossterm>Indexes</glossterm> are all
+      <glossterm>Relations</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-replica">
+    <glossterm>Replica</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Database</glossterm> that is paired with a Master
+      <glossterm>Database</glossterm> and is maintaining a copy of some or
+      all of the Master <glossterm>Database</glossterm>'s data. The primary
+      reasons for doing this are to allow for greater access to that data,
+      and to maintain availability of the data in the event that the
+      <glossterm>Master</glossterm> becomes unavailable.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-replication">
+    <glossterm>Replication</glossterm>
+    <glossdef>
+     <para>
+       The act of reproducing data on one <glossterm>Server</glossterm> into
+       another called a <glossterm>Replica</glossterm>. This can take the
+       form of Physical <glossterm>Replication</glossterm>, where all file
+       changes from one <glossterm>Server</glossterm> are copied verbatim,
+       or Logical <glossterm>Replication</glossterm> where a defined subset
+       of data changes are conveyed.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-result-set">
+    <glossterm>Result Set</glossterm>
+    <glossdef>
+     <para>
+      A data structure transmitted from a <glossterm>Server</glossterm> to
+      client program upon the completion of a <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>
+      clause is specified. The data structure consists of zero or more
+      <glossterm>Rows</glossterm> with the same ordered set of
+      <glossterm>Attributes</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-revoke">
+    <glossterm>Revoke</glossterm>
+    <glossdef>
+     <para>
+      A command to reduce access to a named set of
+      <glossterm>Database</glossterm> objects for a named list of
+      <glossterm>Users</glossterm> and <glossterm>Roles</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-revoke">SQL Commands: REVOKE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-role">
+    <glossterm>Role</glossterm>
+    <glossdef>
+     <para>
+      A collection of access privileges to the
+      <glossterm>Database</glossterm>. <glossterm>Roles</glossterm> are
+      themselves a privilege that can be granted to other roles. This is
+      often done for convenience or to ensure completeness when multiple
+      Users need the same privileges.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createrole">SQL Commands: CREATE ROLE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-rollback">
+    <glossterm>Rollback</glossterm>
+    <glossdef>
+     <para>
+      A command to undo all of the operations performed since the beginning
+      of a <glossterm>Transaction</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-rollback">SQL Commands: ROLLBACK</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-row">
+    <glossterm>Row</glossterm>
+    <glossdef>
+     <para>
+      See <link linkend="sql-revoke">Tupple</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-savepoint">
+    <glossterm>Savepoint</glossterm>
+    <glossdef>
+     <para>
+      A special mark (such as a timestamp) inside a
+      <glossterm>Transaction</glossterm>. Data modifications after this
+      point in time may be rolled back to the time of the savepoint.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-savepoint">SQL Commands: SAVEPOINT</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-schema">
+    <glossterm>Schema</glossterm>
+    <glossdef>
+     <para>
+      A <link linkend="ddl-schemas">schema</link> is a namespace for
+      <glossterm>SQL objects</glossterm>, which all reside in the same
+      <glossterm>database</glossterm>.  Each <glossterm>SQL
+      object</glossterm> must reside in exactly one
+      <glossterm>Schema</glossterm>.
+     </para>
+     <para>
+      In general, the names of <glossterm>SQL objects</glossterm> in the
+      schema are unique - even across different types of objects.  The lone
+      exception is the case of <glossterm>Unique</glossterm>
+      <glossterm>Constraint</glossterm>s, in which case there
+      <emphasis>must</emphasis> be a <glossterm>Unique Index</glossterm>
+      with the same name and <glossterm>Schema</glossterm> as the
+      <glossterm>Constraint</glossterm>.  There is no restriction on having
+      a name used in multiple <glossterm>Schema</glossterm>s.
+     </para>
+     <para>
+      Many <glossterm>SQL objects</glossterm> reside in the default
+      <glossterm>Schema</glossterm> <literal>public</literal>, but it is
+      expected that more schemas are created to hold application specific
+      <glossterm>SQL objects</glossterm>.
+     </para>
+     <para>
+      More generically, the term <glossterm>Schema</glossterm> is used to
+      mean all data descriptions (<glossterm>Table</glossterm> definitions,
+      <glossterm>Constraint</glossterm>s, comments) for a given
+      <glossterm>Database</glossterm>.  </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-segment">
+    <glossterm>Segment</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>File Segment</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-select">
+    <glossterm>Select</glossterm>
+    <glossdef>
+     <para>
+      The command used to query a <glossterm>Database</glossterm>. Normally,
+      <command>SELECT</command>s are not expected to modify the
+      <glossterm>Database</glossterm> in any way, but it is possible that
+      <glossterm>Functions</glossterm> invoked within the query could have
+      side-effects that do modify data.  </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-serializable">
+    <glossterm>Serializable</glossterm>
+    <glossdef>
+     <para>
+      Transactions defined as <literal>SERIALIZABLE</literal> are unable to
+      see changes made within other transactions. In effect, for the
+      initializing session the entire <glossterm>Database</glossterm>
+      appears to be frozen duration such a
+      <glossterm>Transaction</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-server">
+    <glossterm>Server</glossterm>
+    <glossdef>
+     <para>
+      The term <glossterm>Server</glossterm> denotes real hardware, a
+      container, or a Virtual Machine.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-session">
+    <glossterm>Session</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Connection</glossterm> to the <glossterm>Database</glossterm>.
+     </para>
+     <para>
+      A description of the commands that were issued in the life cycle of a
+      particular <glossterm>Connection</glossterm> to the
+      <glossterm>Database</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-sequence">
+    <glossterm>Sequence</glossterm>
+    <glossdef>
+     <para>
+      <!-- sounds excessively complicated a definition -->
+      An <glossterm>Database</glossterm> object which represents the
+      mathematical concept of a numerical integral sequence. It can be
+      thought of as a <glossterm>Table</glossterm> with exactly one
+      <glossterm>Row</glossterm> and one <glossterm>Column</glossterm>. The
+      value stored is known as the current value. A
+      <glossterm>Sequence</glossterm> has a defined direction (almost always
+      increasing) and an interval step (usually 1).  Whenever the
+      <literal>NEXTVAL</literal> pseudo-column of a
+      <glossterm>Sequence</glossterm> is accessed, the current value is moved
+      in the defined direction by the defined interval step, and 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>Sequence</glossterm> are never reverted even in the case of
+      a <glossterm>Rollback</glossterm>, which means that the
+      <glossterm>Sequence</glossterm> will never emit the same number twice,
+      and thus is the normal way of generating values to be put in a
+      <glossterm>Primary Key</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createsequence">SQL Commands: CREATE SEQUENCE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-shared-memory">
+    <glossterm>Shared Memory</glossterm>
+    <glossdef>
+     <para>
+      <acronym>RAM</acronym> which is used by the processes common to an
+      <glossterm>Instance</glossterm>. It mirrors parts of
+      <glossterm>Database</glossterm> files, provides an area for
+      <glossterm>WAL Records</glossterm>, and stores additional common
+      information. Note that <glossterm>Shared Memory</glossterm> belongs to
+      the complete <glossterm>Instance</glossterm>, not to a single
+      <glossterm>Database</glossterm>.
+     </para>
+     <para>
+      <glossterm>Shared Memory</glossterm> is organized into pages. If a
+      page is modified, it is called a dirty page until it is written back
+      to the file system.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="runtime-config-resource-memory">Server Configuration: Resource Consumption</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-sql-object">
+    <glossterm>SQL Object</glossterm>
+     <glossdef>
+      <para>
+      <!-- FIXME why enumerate each type? -->
+       A <glossterm>Table</glossterm>, <glossterm>View</glossterm>,
+       <glossterm>Materialized View</glossterm>,
+       <glossterm>Index</glossterm>, <glossterm>Constraint</glossterm>,
+       <glossterm>Sequence</glossterm>, <glossterm>Function</glossterm>,
+       <glossterm>Procedure</glossterm>, <glossterm>Trigger</glossterm>,
+       data type, or operator. Every <glossterm>SQL Object</glossterm>
+       belongs to exactly one <glossterm>Schema</glossterm>.
+     </para>
+     <para>
+       For more information, see
+       <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-stats-collector">
+    <glossterm>Stats Collector</glossterm>
+    <glossdef>
+     <para>
+      This process collects statistical information about the
+      <glossterm>Cluster</glossterm>'s activities.
+     </para>
+     <para>
+       For more information, see
+       <link linkend="monitoring-stats">Monitoring Database Activity: The Statistics Collector</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-system-catalog">
+    <glossterm>System Catalog</glossterm>
+    <glossdef>
+     <para>
+      A collection of <glossterm>Table</glossterm>s and
+      <glossterm>View</glossterm>s which describe the structure of all
+      <acronym>SQL</acronym> objects of the <glossterm>Database</glossterm>
+      and the <glossterm>Global SQL Objects</glossterm> of the
+      <glossterm>Cluster</glossterm>. The <glossterm>System
+      Catalog</glossterm> resides in the schema
+      <literal>pg_catalog</literal>. Main parts are mirrored as
+      <glossterm>Views</glossterm> in the <glossterm>Schema</glossterm>
+      <literal>information_schema</literal>.
+     </para>
+     <para>
+       For more information, see
+       <link linkend="ddl-schemas">Data Definition: Schemas</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-table">
+    <glossterm>Table</glossterm>
+    <glossdef>
+     <para>
+      A collection of <glossterm>Tuples</glossterm> (also known as
+      <glossterm>Rows</glossterm> or <glossterm>Records</glossterm>) having
+      a common data structure (the same number of
+      <glossterm>Attributes</glossterm>s, in the same order, having the same
+      name and type per position). A <glossterm>Table</glossterm> is the
+      most common form of <glossterm>Relation</glossterm> in
+      <productname>PostgreSQL</productname>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createtable">SQL Commands: CREATE TABLE</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-temporary-tables">
+    <glossterm>Temporary Tables</glossterm>
+    <glossdef>
+     <para>
+      <glossterm>Table</glossterm>s that exist either for the lifetime of a
+      <glossterm>Session</glossterm> or a
+      <glossterm>Transaction</glossterm>, as defined at creation time. The
+      data in them is not visible to other <glossterm>Sessions</glossterm>,
+      and is not <glossterm>Logged</glossterm>. <glossterm>Temporary
+      Tables</glossterm> are most often used to store intermediate data for
+      a multi-step data transformation.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createtable">SQL Commands: CREATE TABLE</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-transaction">
+    <glossterm>Transaction</glossterm>
+    <glossdef>
+     <para>
+      A combination of one or more commands that must act as a single
+      <glossterm>Atomic</glossterm> command: they all succeed or fail
+      together, and their effects are not visible to other sessions until
+      the <glossterm>Transaction</glossterm> is complete.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="transaction-iso">Transaction Isolation</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-trigger">
+    <glossterm>Trigger</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Function</glossterm> which can be defined to execute
+      whenever a certain operation (<command>INSERT</command>,
+      <command>UPDATE</command>, or <command>DELTE</command>) is applied to
+      that <glossterm>Relation</glossterm>. A <glossterm>Trigger</glossterm>
+      executes within the same <glossterm>Transaction</glossterm> as the
+      statement which invoked it, and if the <glossterm>Function</glossterm>
+      fails then the invoking statement also fails.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createtrigger">SQL Commands: CREATE TRIGGER</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-tuple">
+    <glossterm>Tuple</glossterm>
+    <glossdef>
+     <para>
+      A collection of <glossterm>Attributes</glossterm> in a fixed order.
+      That order may be defined by the <glossterm>Table</glossterm> where
+      the <glossterm>Tuple</glossterm> is found, in which case the
+      <glossterm>Tuple</glossterm> is often called a
+      <glossterm>Row</glossterm> or <glossterm>Record</glossterm>. It may
+      also be defined by the structure of a <glossterm>Result
+      Set</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-unique">
+    <glossterm>Unique</glossterm>
+    <glossdef>
+     <para>
+      The condition of having no matching values in the same
+      <glossterm>Relation</glossterm>. Most often used in the concept of
+      <glossterm>Unique Indexes</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-unlogged">
+    <glossterm>Unlogged</glossterm>
+    <glossdef>
+     <para>
+      Changes to an unlogged <glossterm>Relation</glossterm> are not
+      reflected in the <glossterm>WAL Log</glossterm>.  This disables
+      replication and crash recovery for such <glossterm>Relations</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-update">
+    <glossterm>Update</glossterm>
+    <glossdef>
+     <para>
+      A command used to modify <glossterm>Rows</glossterm> that already
+      exist in a specified <glossterm>Table</glossterm>. It cannot create
+      <glossterm>Rows</glossterm> nor can it remove
+      <glossterm>Rows</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-update">SQL Commands: UPDATE</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-user">
+    <glossterm>User</glossterm>
+    <glossdef>
+     <para>
+      A specific case of a <glossterm>Role</glossterm> that is entitled to
+      access (log into) the <glossterm>Database</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-user-mapping">
+    <glossterm>User Mapping</glossterm>
+    <glossdef>
+     <para>
+      The translation of user credentials in the local
+      <glossterm>Database</glossterm> to credentials in a remote data system
+      defined by a <glossterm>Foreign Data Wrapper</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createusermapping">SQL Commands: CREATE USER MAPPING</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-view">
+    <glossterm>View</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>Relation</glossterm> that is defined by a
+      <command>SELECT</command> statement, but has no storage of its own.
+      Any time a query references a <glossterm>View</glossterm>, the
+      definition of the <glossterm>View</glossterm> is substituted into the
+      query as if the user had typed that subquery instead of the name of
+      the <glossterm>View</glossterm>.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="sql-createview">SQL Commands: CREATE VIEW</link>
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-wal-file">
+    <glossterm>WAL File</glossterm>
+    <glossdef>
+     <para>
+      <glossterm>WAL Records</glossterm> are continously written to the end
+      of the current <glossterm>WAL File</glossterm>.  <glossterm>WAL
+      Files</glossterm> as well as <glossterm>WAL Records</glossterm> belong
+      to the complete <glossterm>Cluster</glossterm>, not to a single
+      <glossterm>Database</glossterm>. After a <glossterm>WAL
+      File</glossterm> is full, a new <glossterm>WAL File</glossterm> is
+      created or, under certain conditions, one of the previous
+      <glossterm>WAL Files</glossterm> is renamed and reused.
+     </para>
+     <para>
+      The sequence of <glossterm>WAL Records</glossterm> in combination with
+      the sequence of <glossterm>WAL Files</glossterm> represents the
+      sequence of changes that have taken place in the
+      <glossterm>Cluster</glossterm>.
+     </para>
+      <para>
+       For more information, see
+       <link linkend="wal-internals">Reliability and the Write-Ahead Log: WAL Internals</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+    <glossentry id="glossary-wal-log">
+    <glossterm>WAL Log</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>WAL File</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-wal-record">
+    <glossterm>WAL Record</glossterm>
+    <glossdef>
+     <para>
+      A <glossterm>WAL Record</glossterm> contains either new or changed
+      <glossterm>Heap</glossterm> or <glossterm>Index</glossterm> data or
+      information about a <command>COMMIT</command>,
+      <command>ROLLBACK</command>, <command>SAVEPOINT</command>, or
+      <glossterm>Checkpointer</glossterm> operation. WAL records use a
+      non-printabe binary format.
+     </para>
+      <para>
+       For more information, see
+       <link linkend="wal-internals">Reliability and the Write-Ahead Log: WAL Internals</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-wal-segment">
+    <glossterm>WAL Segment</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>WAL File</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-wal-segment-file">
+    <glossterm>WAL Segment File</glossterm>
+    <glossdef>
+     <para>
+      See <glossterm>WAL File</glossterm>.
+     </para>
+    </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-wal-writer">
+   <glossterm>WAL Writer</glossterm>
+   <glossdef>
+    <para>
+     This process writes <glossterm>WAL Records</glossterm> from
+     <glossterm>Shared Memory</glossterm> to <glossterm>WAL
+     Files</glossterm>.
+    </para>
+      <para>
+       For more information, see
+       <link linkend="runtime-config-wal">Server Configuration: Write Ahead Log</link>.
+     </para>
+   </glossdef>
+   </glossentry>
+
+   <glossentry id="glossary-window-function">
+    <glossterm>Window Function</glossterm>
+    <glossdef>
+     <para>
+      A type of <glossterm>Function</glossterm> similar to an
+      <glossterm>Aggregate</glossterm> in that can derive its value from a
+      set of <glossterm>Rows</glossterm> in a <glossterm>Result
+      Set</glossterm>, but still retaining the original source data.
+     </para>
+     <para>
+      For more information, see
+      <link linkend="tutorial-window">Window Functions</link>.
+     </para>
+    </glossdef>
+   </glossentry>
+  </glosslist>
+</appendix>
diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml
index e59cba7997..2183e33bea 100644
--- a/doc/src/sgml/postgres.sgml
+++ b/doc/src/sgml/postgres.sgml
@@ -278,6 +278,7 @@
   &docguide;
   &limits;
   &acronyms;
+  &glossary;
 
  </part>
 
-- 
2.20.1

>From ead11072a6f04ca5e3789b1095d2605d0e1abd29 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Thu, 19 Mar 2020 20:54:20 -0300
Subject: [PATCH 2/2] Change all "For more info, see X" links to <xref> style

avoids having to write down the title, which is not our style
---
 doc/src/sgml/glossary.sgml | 88 +++++++++++++++++++-------------------
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index cf20fb759c..612ce6e5f4 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -20,7 +20,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="functions-aggregate">Aggregate Functions</link>.
+      <xref linkend="functions-aggregate"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -35,7 +35,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="tutorial-window">Window Functions</link>.
+      <xref linkend="tutorial-window"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -49,7 +49,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="continuous-archiving">Backup and Restore: Continuous Archiving and Point-in-Time Recovery (PITR)</link>.
+      <xref linkend="continuous-archiving"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -93,7 +93,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="routine-vacuuming">Routine Database Maintenance Tasks: Routine Vacuuming</link>.
+      <xref linkend="routine-vacuuming"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -133,7 +133,7 @@
     </para>
     <para>
      For more information, see
-     <link linkend="bgworker">Background Worker Processes</link>.
+     <xref linkend="bgworker"/>.
     </para>
     </glossdef>
    </glossentry>
@@ -150,7 +150,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="runtime-config-resource">Server Configuration: Resource Consumption</link>.
+      <xref linkend="runtime-config-resource"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -175,7 +175,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+      <xref linkend="manage-ag-overview"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -196,7 +196,7 @@
      </para>
     <para>
      For more information, see
-     <link linkend="ddl-constraints">Constraints</link>.
+     <xref linkend="ddl-constraints"/>.
     </para>
     </glossdef>
    </glossentry>
@@ -269,7 +269,7 @@
      </para>
     <para>
      For more information, see
-     <link linkend="sql-commit">SQL Commands: COMMIT</link>.
+     <xref linkend="sql-commit"/>.
     </para>
     </glossdef>
    </glossentry>
@@ -305,7 +305,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="ddl-constraints">Constraints</link>.
+      <xref linkend="ddl-constraints"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -332,7 +332,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="storage-file-layout">Database Physical Storage: Database File Layout</link>.
+      <xref linkend="storage-file-layout"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -345,7 +345,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+      <xref linkend="manage-ag-overview"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -378,7 +378,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-delete">SQL Commands: DELETE</link>.
+      <xref linkend="sql-delete"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -393,7 +393,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="storage-file-layout">Database Physical Storage: Database File Layout</link>.
+      <xref linkend="storage-file-layout"/>.
      </para>
      <para>
       (Don't confuse this term with the similar term
@@ -414,7 +414,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createforeigndatawrapper">SQL Commands: CREATE FOREIGN DATA WRAPPER</link>.
+      <xref linkend="sql-createforeigndatawrapper"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -442,7 +442,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createserver">SQL Commands: CREATE SERVER</link>.
+      <xref linkend="sql-createserver"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -460,7 +460,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createforeigntable">SQL Commands: CREATE FOREIGN TABLE</link>.
+      <xref linkend="sql-createforeigntable"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -476,7 +476,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createfunction">SQL Commands: CREATE FUNCTION</link>.
+      <xref linkend="sql-createfunction"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -512,7 +512,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-grant">SQL Commands: GRANT</link>.
+      <xref linkend="sql-grant"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -550,7 +550,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createindex">SQL Commands: CREATE INDEX</link>.
+      <xref linkend="sql-createindex"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -564,7 +564,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-insert">SQL Commands: INSERT</link>.
+      <xref linkend="sql-insert"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -720,7 +720,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-creatematerializedview">SQL Commands: CREATE MATERIALIZED VIEW</link>.
+      <xref linkend="sql-creatematerializedview"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -769,7 +769,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="server-start">Server Setup and Operation: Starting the Database Server</link>
+      <xref linkend="server-start"/>
      </para>
     </glossdef>
    </glossentry>
@@ -806,7 +806,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createprocedure">SQL Commands: CREATE PROCEDURE</link>.
+      <xref linkend="sql-createprocedure"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -904,7 +904,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-revoke">SQL Commands: REVOKE</link>.
+      <xref linkend="sql-revoke"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -921,7 +921,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createrole">SQL Commands: CREATE ROLE</link>.
+      <xref linkend="sql-createrole"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -935,7 +935,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-rollback">SQL Commands: ROLLBACK</link>.
+      <xref linkend="sql-rollback"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -959,7 +959,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-savepoint">SQL Commands: SAVEPOINT</link>.
+      <xref linkend="sql-savepoint"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1083,7 +1083,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createsequence">SQL Commands: CREATE SEQUENCE</link>.
+      <xref linkend="sql-createsequence"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1107,7 +1107,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="runtime-config-resource-memory">Server Configuration: Resource Consumption</link>.
+      <xref linkend="runtime-config-resource-memory"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1127,7 +1127,7 @@
      </para>
      <para>
        For more information, see
-       <link linkend="manage-ag-overview">Managing Databases: Overview</link>.
+       <xref linkend="manage-ag-overview"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1141,7 +1141,7 @@
      </para>
      <para>
        For more information, see
-       <link linkend="monitoring-stats">Monitoring Database Activity: The Statistics Collector</link>.
+       <xref linkend="monitoring-stats"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1162,7 +1162,7 @@
      </para>
      <para>
        For more information, see
-       <link linkend="ddl-schemas">Data Definition: Schemas</link>.
+       <xref linkend="ddl-schemas"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1181,7 +1181,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createtable">SQL Commands: CREATE TABLE</link>.
+      <xref linkend="sql-createtable"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1200,7 +1200,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createtable">SQL Commands: CREATE TABLE</link>
+      <xref linkend="sql-createtable"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1216,7 +1216,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="transaction-iso">Transaction Isolation</link>
+      <xref linkend="transaction-iso"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1235,7 +1235,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createtrigger">SQL Commands: CREATE TRIGGER</link>
+      <xref linkend="sql-createtrigger"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1288,7 +1288,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-update">SQL Commands: UPDATE</link>
+      <xref linkend="sql-update"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1313,7 +1313,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createusermapping">SQL Commands: CREATE USER MAPPING</link>
+      <xref linkend="sql-createusermapping"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1331,7 +1331,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="sql-createview">SQL Commands: CREATE VIEW</link>
+      <xref linkend="sql-createview"/>
      </para>
     </glossdef>
    </glossentry>
@@ -1357,7 +1357,7 @@
      </para>
       <para>
        For more information, see
-       <link linkend="wal-internals">Reliability and the Write-Ahead Log: WAL Internals</link>.
+       <xref linkend="wal-internals"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1384,7 +1384,7 @@
      </para>
       <para>
        For more information, see
-       <link linkend="wal-internals">Reliability and the Write-Ahead Log: WAL Internals</link>.
+       <xref linkend="wal-internals"/>.
      </para>
     </glossdef>
    </glossentry>
@@ -1417,7 +1417,7 @@
     </para>
       <para>
        For more information, see
-       <link linkend="runtime-config-wal">Server Configuration: Write Ahead Log</link>.
+       <xref linkend="runtime-config-wal"/>.
      </para>
    </glossdef>
    </glossentry>
@@ -1433,7 +1433,7 @@
      </para>
      <para>
       For more information, see
-      <link linkend="tutorial-window">Window Functions</link>.
+      <xref linkend="tutorial-window"/>.
      </para>
     </glossdef>
    </glossentry>
-- 
2.20.1

Reply via email to