This latest version is an attempt at merging the work of Jürgen Purtz into what I had posted earlier. There was relatively little overlap in the terms we had chosen to define.
Each glossary definition now has a reference id (good idea Jürgen), the form of which is "glossary-term". So we can link to the glossary from outside if we so choose. I encourage everyone to read the definitions, and suggest fixes to any inaccuracies or awkward phrasings. Mostly, though, I'm seeking feedback on the structure itself, and hoping to get that committed. On Tue, Feb 11, 2020 at 11:22 PM Corey Huinker <corey.huin...@gmail.com> wrote: > It seems like this could be a good idea, still the patch has been >> waiting on his author for more than two weeks now, so I have marked it >> as returned with feedback. >> > > In light of feedback, I enlisted the help of an actual technical writer > (Roger Harkavy, CCed) and we eventually found the time to take a second > pass at this. > > Attached is a revised patch. > >
From 690473e51fc442c55c1744f69813795fce9d22dc Mon Sep 17 00:00:00 2001 From: coreyhuinker <corey.huin...@gmail.com> Date: Tue, 10 Mar 2020 11:26:29 -0400 Subject: [PATCH] add glossary page --- doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/glossary.sgml | 1008 ++++++++++++++++++++++++++++++++++++ doc/src/sgml/postgres.sgml | 1 + 3 files changed, 1010 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..851e9debe6 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1008 @@ +<appendix id="glossary"> + <title>Glossary</title> + <para> + This is a list of terms and their in the context of <productname>PostgreSQL</productname> and <glossterm>Database</glossterm>s 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 up 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> + A typed data element found within a <glossterm>Tuple</glossterm> or <glossterm>Relation</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-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> + </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 can be happening 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 method 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>. The name for this directory in configuration files is <productname>PGDATA</productname>. + </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 <glossterm>Database</glossterm> object grows in size past a designated limit, it may be +split into multiple physical files. These files are called <glossterm>File Segments</glossterm>. + </para> + <para> + (Don't confuse this term with the similar term <glossterm>WAL Segment</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-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 tranformation 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> + Not all objects belong to a certain <glossterm>Schema</glossterm>, or to their <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="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>) that stores the data in a way that makes specific values easier to retrieve. + </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="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 the <glossterm>Table</glossterm> 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> + A <glossterm>Table</glossterm> that can be queried independently by its own name, but can also be queried via another <glossterm>Table</glossterm>, a partitioend <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> + 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> + A data structure that consists of one or more <glossterm>Attributes</glossterm> in a defined order. + </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 even 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 tranmitted 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> + A <glossterm>Tuple</glossterm> or <glossterm>Record</glossterm> found within a <glossterm>Relation</glossterm> or a <glossterm>Result Set</glossterm>. This term is often used interchangably with <glossterm>Record</glossterm> and <glossterm>Tuple</glossterm>. + </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 means of organizing a collection of objects residing in the same <glossterm>Database</glossterm> to facilitate clarity or security. <glossterm>Schema</glossterm>s are most often used in the same way that a namespace is used in programming languages. All objects belong to exactly one <glossterm>Schema</glossterm>, most commonly "public", the default <glossterm>Schema</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> + <glossterm>Database</glossterm> <glossterm>Session</glossterm>s in a transaction defined as <literal>SERIALIZABLE</literal> are unable to see changes made to the <glossterm>Database</glossterm> by other sessions. In effect, the entire <glossterm>Database</glossterm> appears to be frozen in time for the duration of the <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> + An <glossterm>Database</glossterm> object which represents the mathematical concept of a generic numerical sequence. It can be thought of as a <glossterm>Table</glossterm> with exactly one <glossterm>Row</glossterm> and one <glossterm>Column</glossterm>. The value stores is know 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 curent 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> + 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). 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> + </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> + A <glossterm>Relation</glossterm> that is unlogged will not have changes reflected in the <glossterm>WAL Log</glossterm>, +which would enable those changes to be duplicated on a <glossterm>Replica</glossterm>, and also enables the change to survive a <glossterm>Database</glossterm> crash. + </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 other binary information about a <command>COMMIT</command>, <command>ROLLBACK</command>, <command>SAVEPOINT</command>, or <glossterm>Checkpointer</glossterm> operation. + </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