Home Explore Blog CI



postgresql

15th chunk of `doc/src/sgml/glossary.sgml`
8fed1dc0bfe198df58351a747a61516cbea7330c671736260000000100000fd2
 <glossterm linkend="glossary-view">view</glossterm>),
     but stores data in the same way that a
     <glossterm linkend="glossary-table">table</glossterm> does. It cannot be
     modified via <command>INSERT</command>, <command>UPDATE</command>,
     <command>DELETE</command>, or <command>MERGE</command> operations.
    </para>
    <para>
     For more information, see
     <xref linkend="sql-creatematerializedview"/>.
    </para>
   </glossdef>
  </glossentry>

  <glossentry id="glossary-merge">
   <glossterm>Merge</glossterm>
   <glossdef>
    <para>
     An <acronym>SQL</acronym> command used to conditionally add, modify,
     or remove <glossterm linkend="glossary-tuple">rows</glossterm>
     in a given <glossterm linkend="glossary-table">table</glossterm>,
     using data from a source
     <glossterm linkend="glossary-relation">relation</glossterm>.
    </para>
    <para>
     For more information, see
     <xref linkend="sql-merge"/>.
    </para>
   </glossdef>
  </glossentry>

  <glossentry id="glossary-mvcc">
   <glossterm>Multi-version concurrency control (MVCC)</glossterm>
   <glossdef>
    <para>
     A mechanism designed to allow several
     <glossterm linkend="glossary-transaction">transactions</glossterm> to be
     reading and writing the same rows without one process causing other
     processes to stall.
     In <productname>PostgreSQL</productname>, MVCC is implemented by
     creating copies (<firstterm>versions</firstterm>) of
     <glossterm linkend="glossary-tuple">tuples</glossterm> as they are
     modified; after transactions that can see the old versions terminate,
     those old versions need to be removed.
    </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 a definite value.
    </para>
   </glossdef>
  </glossentry>

  <glossentry>
   <glossterm>Optimizer</glossterm>
   <glosssee otherterm="glossary-planner" />
  </glossentry>

  <glossentry id="glossary-parallel-query">
   <glossterm>Parallel query</glossterm>
   <glossdef>
    <para>
     The ability to handle parts of executing a
     <glossterm linkend="glossary-query">query</glossterm> to take advantage
     of parallel processes on servers with multiple <acronym>CPU</acronym>s.
    </para>
   </glossdef>
  </glossentry>

  <glossentry id="glossary-partition">
   <glossterm>Partition</glossterm>
   <glossdef>
    <para>
     One of several disjoint (not overlapping) subsets of a larger set.
    </para>
   </glossdef>
   <glossdef>
    <para>
     In reference to a
     <glossterm linkend="glossary-partitioned-table">partitioned table</glossterm>:
     One of the tables that each contain part of the data of the partitioned table,
     which is said to be the <firstterm>parent</firstterm>.
     The partition is itself a table, so it can also be queried directly;
     at the same time, a partition can sometimes be a partitioned table,
     allowing hierarchies to be created.
    </para>
   </glossdef>
   <glossdef>
    <para>
     In reference to a <glossterm linkend="glossary-window-function">window function</glossterm>
     in a <glossterm linkend="glossary-query">query</glossterm>,
     a partition is a user-defined criterion that identifies which neighboring
     <glossterm linkend="glossary-tuple">rows</glossterm>
     of the <glossterm linkend="glossary-result-set">query's result set</glossterm>
     can be considered by the function.
    </para>
   </glossdef>
  </glossentry>

  <glossentry id="glossary-partitioned-table">
   <glossterm>Partitioned table (relation)</glossterm>
   <glossdef>
    <para>
     A <glossterm linkend="glossary-relation">relation</glossterm> that is
     in semantic terms the same as a <glossterm linkend="glossary-table">table</glossterm>,
     but whose storage is distributed across several
     <glossterm linkend="glossary-partition">partitions</glossterm>.

Title: Database Concepts: Materialized Views, MERGE, MVCC, and Partitioning
Summary
This section covers several important database concepts in PostgreSQL. It describes materialized views as relations that store data like tables but cannot be directly modified. The MERGE SQL command is explained as a method for conditionally manipulating table data. Multi-Version Concurrency Control (MVCC) is introduced as a mechanism allowing multiple transactions to access the same data without conflicts. The concept of NULL is defined as representing the absence of a definite value. Parallel query execution is mentioned as a feature for utilizing multiple CPUs. Lastly, the text delves into partitioning, explaining it in the context of tables and window functions, and introduces partitioned tables as relations with distributed storage across multiple partitions.