Review of the glossary
authorAlvaro Herrera
Fri, 15 May 2020 17:24:22 +0000 (13:24 -0400)
committerAlvaro Herrera
Fri, 15 May 2020 17:24:22 +0000 (13:24 -0400)
Add some more terms, clarify some definitions, remove redundant terms,
move a couple of terms to keep alphabetical order.

Co-authored-by: Jürgen Purtz
Co-authored-by: Erik Rijkers
Co-authored-by: Laurenz Albe
Discussion: https://postgr.es/m/7b9b469e804777ac9df4d37716db935e@xs4all.nl

doc/src/sgml/glossary.sgml

index 8c6cb6e942119d3ce133900f156de9389c40a2f9..8bb1ea5d877b7cbb158fe3765efac1e0b93f4b39 100644 (file)
@@ -7,8 +7,23 @@
  
 
  
+  
+   ACID
+   
+    
+     Atomicity,
+     Consistency,
+     Isolation, and
+     Durability.
+     This set of properties of database transactions is intended to
+     guarantee validity in concurrent operation and even in event of
+     errors, power failures, etc.
+    
+   
+  
+
   
-   Aggregate Function
+   Aggregate function
    
     
      A function that
      to make decisions about how to execute
      queries.
     
+    
+     (Don't confuse this term with the ANALYZE option
+     to the  command.)
+    
    
   
 
   
-   Analytic Function
+   Analytic function
    
   
 
    
     
      Process of an instance
-     which act on behalf of client sessions
-     and handle their requests.
+     which acts on behalf of a client session
+     and handles its requests.
     
     
      (Don't confuse this term with the similar terms
   
 
   
-   Background Worker (process)
+   Background worker (process)
    
     
      Process within an instance,
   
 
   
-   Background Writer (process)
+   Background writer (process)
    
     
-     A process that continuously writes dirty pages from
+     A process that writes dirty
+     data pages from
      shared memory to
      the file system.  It wakes up periodically, but works only for a short
      period in order to distribute its expensive I/O
    
   
 
+  
+   Bloat
+   
+    
+     Space in data pages which does not contain current row versions,
+     such as unused (free) space or outdated row versions.
+    
+   
+  
+
   
    Cast
    
   
 
   
-   Check Constraint
+   Check constraint
    
     
      A type of constraint
    
   
 
-  
-   Checkpointer (process)
-   
-    
-     A specialized process responsible for executing checkpoints.
-    
-   
-  
-
   
    Checkpoint
    
    
   
 
+  
+   Checkpointer (process)
+   
+    
+     A specialized process responsible for executing checkpoints.
+    
+   
+  
+
   
    Class (archaic)
    
    
   
 
-  
-   Cluster
-   
-    
-     A group of databases plus their
-     global SQL objects. The
-     cluster is managed by exactly one
-     instance. A newly created
-     Cluster will have three databases created automatically. They are
-     template0template1, and
-     postgres. It is expected that an application will
-     create one or more additional database aside from these three.
-    
-    
-     (Don't confuse the PostgreSQL-specific term
-     Cluster with the SQL
-     command CLUSTER).
-    
-   
-  
-
   
    Column
    
    
     
      A restriction on the values of data allowed within a
-     Table.
+     table,
+     or in attributes of a
+     
+     domain.
     
     
      For more information, see
   
 
   
-   Data Area
+   Data area
    
   
 
   
-   Data Directory
+   Data directory
    
     
      The base directory on the filesystem of a
      server that contains all
-     data files and subdirectories associated with a
-     cluster">cluster with the
-     exception of tablespaces.
+     data files and subdirectories associated with an
+     instance">instance (with the
+     exception of tablespaces).
      The environment variable PGDATA is commonly used to
      refer to the
      data directory.
   
 
   
-   Database Server
+   Database server
    
   
 
+  
+   Data page
+   
+    
+     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 shared buffers
+     where they can be modified, becoming
+     dirty.  They become clean when written
+     to disk.  New pages, which initially exist in memory only, are also
+     dirty until written.
+    
+   
+  
+
   
    Datum
    
     
-     The internal representation of one value of a SQL
+     The internal representation of one value of an SQL
      data type.
     
    
    Delete
    
     
-     A SQL command which removes
+     An SQL command which removes
      rows from a given
      table
      or relation.
    
   
 
+  
+   Epoch
+   
+  
+
   
    Extension
    
   
 
   
-   File Segment
+   File segment
    
     
      A physical file which stores data for a given
      relation.
-     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.
     
     
   
 
   
-   Foreign Data Wrapper
+   Foreign data wrapper
    
     
      A means of representing data that is not contained in the local
      database so that it appears as if were in local
-     table(s). With a Foreign Data Wrapper it is
+     table(s). With a foreign data wrapper it is
      possible to define a foreign server and
-     foreign tables.
+     foreign tables.
     
     
      For more information, see
   
 
   
-   Foreign Key
+   Foreign key
    
     
      A type of constraint
   
 
   
-   Foreign Server
+   Foreign server
    
     
      A named collection of
   
 
   
-   Foreign Table
+   Foreign table
    
     
      A relation which appears to have
    
   
 
-  unction">
-   Function
+  ork">
+   Fork
    
     
-     Any defined transformation of data. Many functions are already defined
-     within PostgreSQL itself, but user-defined
-     ones can also be added.
+     Each of the separate segmented file sets in which a relation is stored.
+     The main fork is where the actual data resides.
+     There also exist two secondary forks for metadata:
+     the free space map
+     and the visibility map.
+     Unlogged relations
+     also have an init fork.
+    
+   
+  
+
+  
+   Free space map (fork)
+   
+    
+     A storage structure that keeps metadata about each data page of a table's
+     main fork.  The free space map entry for each page stores the
+     amount of free space that's available for future tuples, and is structured
+     to be efficiently searched for available space for a new tuple of a given
+     size.
     
     
      For more information, see
-     ql-createfunction"/>.
+     torage-fsm"/>.
     
    
   
 
-  global-sql-object">
-   Global SQL Object
+  function">
+   Function
    
     
-     SQL objects which do
-     not belong to a specific
-     database.
+     Any defined transformation of data. Many functions are already defined
+     within PostgreSQL itself, but user-defined
+     ones can also be added.
     
     
-     These objects are
-     roles,
-     tablespaces,
-     replication origins, and subscriptions for logical replication.
+     For more information, see
+     .
     
    
   
    Grant
    
     
-     A SQL command that is used to allow
+     An SQL command that is used to allow
      users or
      role to access
      specific objects within the database.
      Contains the values of row
      attributes (i.e. the data) for a
      relation.
-     The heap is realized within
-     segment files.
+     The heap is realized within one of more
+     file segments
+     in the relation's main fork.
     
    
   
    Host
    
     
-     A computer that communicates with other hosts over a network.
-     This term can be used to refer to either a
-     client
-     or a server.
+     A computer that communicates with other computers over a network.
+     This is sometimes used as a synonym for
+     server.
+     It is also used to refer to a computer where
+     client processes run.
     
    
   
    Insert
    
     
-     A SQL command used to add new data into a
+     An SQL command used to add new data into a
      table.
     
     
    Instance
    
     
-     An instance is a group of processes,
-     its supporting storage space,
-     plus their
-     common shared memory,
-     running on a single server.
-     The instance
-     handles all key features of a DBMS: read and write
-     access to files and shared memory, assurance of
-     the ACID paradigm, MVCC,
-     connections to client programs, backup,
-     recovery, replication, privileges, etc.
+     A set of databases and accompanying global SQL objects that are stored in
+     the same data directory
+     in a single server.
+     If running, one
+     postmaster process
+     manages a group of backend and auxiliary processes that communicate
+     using a common shared memory
+     area.  Many instances can run on the same
+     server
+     as long as their TCP ports do not conflict.
     
     
-     An instance manages exactly one
-     cluster.
+     The instance handles all key features of a DBMS:
+     read and write access to files and shared memory,
+     assurance of the ACID properties,
+     connections to client processes,
+     privilege verification, crash recovery, replication, etc.
     
     
-     Many instances can run on the same server as
-     long as their TCP/IP ports do not conflict.
-     Different instances on a server may use the
-     same or different versions of PostgreSQL.
+     In PostgreSQL, the term
+     cluster is also sometimes used to refer to an instance.
+     (Don't confuse this term with the SQL command CLUSTER.)
     
    
   
    Join
    
     
-     A SQL keyword used in SELECT statements for
+     An SQL keyword used in SELECT statements for
      combining data from multiple relations.
     
    
   
 
   
-   Log File
+   Log file
    
     
      Log files contain human-readable text lines about events.
    
   
 
-  
-   Logger (process)
-   
-    
-     If activated, the
-     Logger process
-     writes information about database events into the current
-     log file.
-     When reaching certain time- or
-     volume-dependent criteria, a new log file is created.
-     Also called syslogger.
-    
-    
-     For more information, see
-     .
-    
-   
-  
-
   
-   Log Record
+   Log record
     
      
       Archaic term for a WAL record.
    
   
 
+  
+   Logger (process)
+   
+    
+     If activated, the
+     Logger process
+     writes information about database events into the current
+     log file.
+     When reaching certain time- or
+     volume-dependent criteria, a new log file is created.
+     Also called syslogger.
+    
+    
+     For more information, see
+     .
+    
+   
+  
+
   
    Master (server)
    
   
 
   
-   Materialized View
+   Materialized view
    
     
      A relation that is
    Null
    
     
-     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.
     
    
   
   
 
   
-   Parallel Query
+   Parallel query
    
     
      The ability to handle parts of executing a
   
 
   
-   Partitioned Table
+   Partitioned table
    
     
      A relation that is
   
 
   
-   Primary Key
+   Primary key
    
     
      A special case of a
   
 
   
-   Query Planner
+   Query planner
    
     
      The part of PostgreSQL that is devoted to
   
 
   
-   Referential Integrity
+   Referential integrity
    
     
      A means of restricting data in one relation
      attributes
      defined in a specific order.
      Tables,
+     sequences,
      views,
      foreign tables,
-     materialized views, and
+     materialized views,
+     composite types, and
      indexes are all relations.
     
     
   
 
   
-   Replica
+   Replica (server)
    
     
      A database that is paired
   
 
   
-   Result Set
+   Result set
    
     
      A data structure transmitted from a
      backend process to
-     client program upon the completion of a SQL
+     a client upon the
+     completion of an SQL
      command, usually a SELECT but it can be an
      INSERTUPDATE, or
      DELETE command if the RETURNING
     
      A collection of access privileges to the
      instance.
-     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 users need
      the same privileges.
    Savepoint
    
     
-     A special mark inside the sequence of steps in a
+     A special mark in the sequence of steps in a
      transaction.
      Data modifications after this point in time may be reverted
      to the time of the savepoint.
    Schema
    
     
-     A schema is a namespace for SQL objects,
+     A schema is a namespace for
+     SQL objects,
      which all reside in the same
-     database.  Each
-     SQL object must reside in exactly one schema.
+     database.
+     Each SQL object must reside in exactly one schema.
     
     
-     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.
     
     
    
    
     
-     More generically, the term Schema is used to mean
+     More generically, the term schema is used to mean
      all data descriptions (table definitions,
      constraints, comments, etc)
      for a given database or
      A computer on which PostgreSQL
      instances run.
      The term server denotes real hardware, a
-     container, or a Virtual Machine.
+     container, or a virtual machine.
+    
+    
+     This term is sometimes used to refer to an instance or to a host.
     
    
   
    
   
 
-
 
   
-   Shared Memory
+   Shared memory
    
     
      RAM which is used by the processes common to an
    
   
 
+  
+   Standby (server)
+   
+  
+
   
    SQL Object
     
      
-      A table,
-      view,
-      materialized view,
-      index,
-      constraint,
- sequence,
-      function,
-      procedure,
-      trigger,
-      data type, or operator. Every one of those SQL objects
-      belong to exactly one Schema.
-    
-    
-     There also exist SQL objects that do not belong to schemas; those include
-     extensions,
-     data type cases,
-     and
-     foreign data wrappers.
+      Any object that can be created with a CREATE
+      command.  Most objects are specific to one database, and are commonly
+      known as local objects.
+      Roles,
+      tablespaces,
+      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 global objects.
+     
+     
+      Most local objects belong to a specific
+      schema in their containing database.
+      There also exist local objects that do not belong to schemas; some examples are
+      extensions,
+      data type casts, and
+      foreign data wrappers.
     
     
       For more information, see
   
 
   
-   SQL Standard
+   SQL standard
    
     
      A series of documents that define the SQL language.
   
 
   
-   Stats Collector
+   Stats collector
    
     
      This process collects statistical information about the
-     cluster">Cluster's activities.
+     instance">instance's activities.
     
     
       For more information, see
   
 
   
-   System Catalog
+   System catalog
    
     
      A collection of tables
      which describe the structure of all
      SQL objects
-     of each database
-     and the global SQL objects
-     of the cluster.
+     of the instance.
      The system catalog resides in the schema pg_catalog.
      These tables contain data in internal representation and are
      not typically considered useful for user examination;
      a number of user-friendlier views
      also in schema pg_catalog offer more convenient access to
      some of that information, while additional tables and views
-     exist in schema information_schema that expose some
+     exist in schema information_schema
+     (see ) that expose some
      of the same and additional information as mandated by the
      SQL standard.
     
      attributes, in the same
      order, having the same name and type per position).
      A table is the most common form of
-     Relation in
+     relation in
      PostgreSQL.
     
     
   
 
   
-   Temporary Table
+   Temporary table
    
     
      Tables that exist either
    
   
 
+  
+   TOAST
+   
+    
+     A mechanism by which large attributes of table rows are split and
+     stored in a secondary table, called the TOAST table.
+     Each relation with large attributes has its own TOAST table.
+    
+    
+     For more information, see
+     .
+    
+   
+  
+
   
    Transaction
    
    
   
 
+  
+   Transaction ID
+   
+    
+     The numerical, unique, sequentially-assigned identifier that each
+     transaction receives when it first causes a database modification.
+     Frequently abbreviated as xid.
+     When stored on disk, xids are only 32-bits wide, so only
+     approximately four billion write transaction IDs can be generated;
+     to permit the system to run for longer than that,
+     epochs are used, also 32 bits wide.
+     When the counter reaches the maximum xid value, it starts over at
+     3 (values under that are reserved) and the
+     epoch value is incremented by one.
+     In some contexts, the epoch and xid values are
+     considered together as a single 64-bit value.
+    
+    
+     For more information, see
+     .
+    
+   
+  
+
   
    Trigger
    
      UPDATEDELETE,
      TRUNCATE) is applied to a
      relation.
-     A Trigger executes within the same
+     A trigger executes within the same
      transaction as the
      statement which invoked it, and if the function fails, then the invoking
      statement also fails.
   
 
   
-   Unique Constraint
+   Unique constraint
    
     
      A type of constraint
    Update
    
     
-     A SQL command used to modify
+     An SQL command used to modify
      rows
      that may already exist in a specified table.
      It cannot create or remove rows.
    Vacuum
    
     
-     The process of removing outdated tuple
-     versions from tables, and other closely related
-     garbage-collection-like processing required by PostgreSQL's
+     The process of removing outdated
+     tuple versions
+     from tables or materialized views, and other closely related
+     processing required by PostgreSQL's
      implementation of MVCC.
      This can be initiated through the use of
      the VACUUM command, but can also be handled automatically
    
   
 
+  
+   Visibility map (fork)
+   
+    
+     A storage structure that keeps metadata about each data page
+     of a table's main fork.  The visibility map entry for
+     each page stores two bits: the first one
+     (all-visible) indicates that all tuples
+     in the page are visible to all transactions.  The second one
+     (all-frozen) indicate that all tuples
+     in the page are marked frozen.
+    
+   
+  
+
+  
+   WAL
+   
+  
+
   
-   WAL Archiver (process)
+   WAL archiver (process)
    
     
      A process that saves copies of WAL files
   
 
   
-   WAL File
+   WAL file
    
     
      Also known as WAL segment or
      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.
     
     
    
   
 
-  
-   WAL
-   
-  
-
   
-   WAL Record
+   WAL record
    
     
      A low-level description of an individual data change.
   
 
   
-   WAL Segment
+   WAL segment
    
   
 
   
-  WAL Writer (process)
+  WAL writer (process)
   
    
     A process that writes WAL records
-    from id="linkend-shared-memory">shared memory to
-    id="linkend-wal-file">WAL files.
+    from linkend="glossary-shared-memory">shared memory to
+    linkend="glossary-wal-file">WAL files.
    
    
     For more information, see
   
 
   
-   Window Function
+   Window function
    
     
      A type of function whose
   
 
   
-   Write-Ahead Log
+   Write-ahead log
    
     
      The journal that keeps track of the changes in the