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