diff options
-rw-r--r-- | doc/src/sgml/filelist.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/glossary.sgml | 1775 | ||||
-rw-r--r-- | doc/src/sgml/postgres.sgml | 1 |
3 files changed, 1777 insertions, 0 deletions
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 1043d0f7ab9..cf21ef857e3 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 color SYSTEM "color.sgml"> <!ENTITY features-supported SYSTEM "features-supported.sgml"> diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml new file mode 100644 index 00000000000..8c6cb6e9421 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1775 @@ +<appendix id="glossary"> + <title>Glossary</title> + <para> + This is a list of terms and their meaning in the context of + <productname>PostgreSQL</productname> and relational database + systems in general. + </para> + + <glosslist> + <glossentry id="glossary-aggregate"> + <glossterm>Aggregate Function</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-function">function</glossterm> that + combines (<firstterm>aggregates</firstterm>) multiple input values, + for example by counting, averaging or adding, + yielding a single output value. + </para> + <para> + For more information, see + <xref linkend="functions-aggregate"/>. + </para> + <glossseealso otherterm="glossary-window-function" /> + </glossdef> + </glossentry> + + <glossentry id="glossary-analyze"> + <glossterm>Analyze (operation)</glossterm> + <glossdef> + <para> + The process of collecting statistics from data in + <glossterm linkend="glossary-table">tables</glossterm> + and other <glossterm linkend="glossary-relation">relations</glossterm> + to help the <glossterm linkend="glossary-planner">query planner</glossterm> + to make decisions about how to execute + <glossterm linkend="glossary-query">queries</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Analytic Function</glossterm> + <glosssee otherterm="glossary-window-function" /> + </glossentry> + + <glossentry id="glossary-atomic"> + <glossterm>Atomic</glossterm> + <glossdef> + <para> + In reference to a <glossterm linkend="glossary-datum">datum</glossterm>: + the fact that its value that cannot be broken down into smaller + components. + </para> + </glossdef> + <glossdef> + <para> + In reference to a + <glossterm linkend="glossary-transaction">database transaction</glossterm>: + see <glossterm linkend="glossary-atomicity">atomicity</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-atomicity"> + <glossterm>Atomicity</glossterm> + <glossdef> + <para> + The property of a <glossterm linkend="glossary-transaction">transaction</glossterm> + that either all its operations complete as a single unit or none do. + In addition, if a system failure occurs during the execution of a + transaction, no partial results are visible after recovery. + This is one of the <acronym>ACID</acronym> properties. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-attribute"> + <glossterm>Attribute</glossterm> + <glossdef> + <para> + An element with a certain name and data type found within a + <glossterm linkend="glossary-tuple">tuple</glossterm> or + <glossterm linkend="glossary-table">table</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-autovacuum"> + <glossterm>Autovacuum</glossterm> + <glossdef> + <para> + A set of background processes that routinely perform + <glossterm linkend="glossary-vacuum">vacuum</glossterm> + and <glossterm linkend="glossary-analyze">analyze</glossterm> + operations. + </para> + <para> + For more information, see + <xref linkend="autovacuum"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-backend"> + <glossterm>Backend (process)</glossterm> + <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. + </para> + <para> + (Don't confuse this term with the similar terms + <glossterm linkend="glossary-background-worker">Background Worker</glossterm> or + <glossterm linkend="glossary-background-writer">Background Writer</glossterm>). + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-background-worker"> + <glossterm>Background Worker (process)</glossterm> + <glossdef> + <para> + Process within an <glossterm linkend="glossary-instance">instance</glossterm>, + which runs system- or user-supplied code. + Serves as infrastructure for several features in + <productname>PostgreSQL</productname>, such as + <glossterm linkend="glossary-replication">logical replication</glossterm> + and <glossterm linkend="glossary-parallel-query">parallel queries</glossterm>. + In addition, <glossterm linkend="glossary-extension">Extensions</glossterm> can add + custom background worker processes. + </para> + <para> + For more information, see + <xref linkend="bgworker"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-background-writer"> + <glossterm>Background Writer (process)</glossterm> + <glossdef> + <para> + A process that continuously writes dirty pages 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> + activity over time to avoid generating larger + <acronym>I/O</acronym> peaks which could block other processes. + </para> + <para> + For more information, see + <xref linkend="runtime-config-resource-background-writer"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-cast"> + <glossterm>Cast</glossterm> + <glossdef> + <para> + A conversion of a <glossterm linkend="glossary-datum">datum</glossterm> + from its current data type to another data type. + </para> + <para> + For more information, see + <xref linkend="sql-createcast"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-catalog"> + <glossterm>Catalog</glossterm> + <glossdef> + <para> + The <acronym>SQL</acronym> standard uses this term to + indicate what is called a + <glossterm linkend="glossary-database">database</glossterm> in + <productname>PostgreSQL</productname>'s terminology. + </para> + <para> + (Don't confuse this term with + <glossterm linkend="glossary-system-catalog">system catalog</glossterm>). + </para> + <para> + For more information, see + <xref linkend="manage-ag-overview"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-check-constraint"> + <glossterm>Check Constraint</glossterm> + <glossdef> + <para> + A type of <glossterm linkend="glossary-constraint">constraint</glossterm> + defined on a <glossterm linkend="glossary-relation">relation</glossterm> + which restricts the values allowed in one or more + <glossterm linkend="glossary-attribute">attributes</glossterm>. The + check constraint can make reference to any attribute of the same row in + the relation, but cannot reference other rows of the same relation or + other relations. + </para> + <para> + For more information, see + <xref linkend="ddl-constraints"/>. + </para> + </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> + <para> + A point in the <glossterm linkend="glossary-wal">WAL</glossterm> sequence + at which it is guaranteed that the heap and index data files have been + updated with all information from + <glossterm linkend="glossary-shared-memory">shared memory</glossterm> + modified before that checkpoint; + a <firstterm>checkpoint record</firstterm> is written and flushed to WAL + to mark that point. + </para> + <para> + A checkpoint is also the act of carrying out all the actions that + are necessary to reach a checkpoint as defined above. + This process is initiated when predefined conditions are met, + such as a specified amount of time has passed, or a certain volume + of records has been written; or it can be invoked by the user + with the command <command>CHECKPOINT</command>. + </para> + <para> + For more information, see + <xref linkend="wal-configuration"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Class (archaic)</glossterm> + <glosssee otherterm="glossary-relation" /> + </glossentry> + + <glossentry id="glossary-client"> + <glossterm>Client (process)</glossterm> + <glossdef> + <para> + Any process, possibly remote, that establishes a + <glossterm linkend="glossary-session">session</glossterm> + by <glossterm linkend="glossary-connection">connecting</glossterm> to an + <glossterm linkend="glossary-instance">instance</glossterm> + to interact with a <glossterm linkend="glossary-database">database</glossterm>. + </para> + </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> + <para> + An <glossterm linkend="glossary-attribute">attribute</glossterm> found in + a <glossterm linkend="glossary-table">table</glossterm> or + <glossterm linkend="glossary-view">view</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-commit"> + <glossterm>Commit</glossterm> + <glossdef> + <para> + The act of finalizing a + <glossterm linkend="glossary-transaction">transaction</glossterm> within + the <glossterm linkend="glossary-database">database</glossterm>, which + makes it visible to other transactions and assures its + <glossterm linkend="glossary-durability">durability</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-commit"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-concurrency"> + <glossterm>Concurrency</glossterm> + <glossdef> + <para> + The concept that multiple independent operations happen within the + <glossterm linkend="glossary-database">database</glossterm> at the same time. + In <productname>PostgreSQL</productname>, concurrency is controlled by + the <glossterm linkend="glossary-mvcc">multiversion concurrency control</glossterm> + mechanism. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-connection"> + <glossterm>Connection</glossterm> + <glossdef> + <para> + An established line of communication between a client process and a + <glossterm linkend="glossary-backend">backend</glossterm> process, + usually over a network, supporting a + <glossterm linkend="glossary-session">session</glossterm>. This term is + sometimes used as a synonym for session. + </para> + <para> + For more information, see + <xref linkend="runtime-config-connection"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-consistency"> + <glossterm>Consistency</glossterm> + <glossdef> + <para> + The property that the data in the + <glossterm linkend="glossary-database">database</glossterm> + is always in compliance with + <glossterm linkend="glossary-constraint">integrity constraints</glossterm>. + Transactions may be allowed to violate some of the constraints + transiently before it commits, but if such violations are not resolved + by the time it commits, such transaction is automatically + <glossterm linkend="glossary-rollback">rolled back</glossterm>. + This is one of the <acronym>ACID</acronym> properties. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-constraint"> + <glossterm>Constraint</glossterm> + <glossdef> + <para> + A restriction on the values of data allowed within a + <glossterm linkend="glossary-table">Table</glossterm>. + </para> + <para> + For more information, see + <xref linkend="ddl-constraints"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Data Area</glossterm> + <glosssee otherterm="glossary-data-directory" /> + </glossentry> + + <glossentry id="glossary-data-directory"> + <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 + exception of <glossterm linkend="glossary-tablespace">tablespaces</glossterm>. + The environment variable <literal>PGDATA</literal> is commonly used to + refer to the + <glossterm linkend="glossary-data-directory">data directory</glossterm>. + </para> + <para> + An <glossterm linkend="glossary-instance">instance</glossterm>'s storage + space comprises the data directory plus any additional tablespaces. + </para> + <para> + For more information, see + <xref linkend="storage-file-layout"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-database"> + <glossterm>Database</glossterm> + <glossdef> + <para> + A named collection of + <glossterm linkend="glossary-sql-object">SQL objects</glossterm>. + </para> + <para> + For more information, see + <xref linkend="manage-ag-overview"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Database Server</glossterm> + <glosssee otherterm="glossary-instance" /> + </glossentry> + + <glossentry id="glossary-datum"> + <glossterm>Datum</glossterm> + <glossdef> + <para> + The internal representation of one value of a <acronym>SQL</acronym> + data type. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-delete"> + <glossterm>Delete</glossterm> + <glossdef> + <para> + A <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>. + </para> + <para> + For more information, see + <xref linkend="sql-delete"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-durability"> + <glossterm>Durability</glossterm> + <glossdef> + <para> + The assurance that once a + <glossterm linkend="glossary-transaction">transaction</glossterm> has + been <glossterm linkend="glossary-commit">committed</glossterm>, the + changes remain even after a system failure or crash. + This is one of the <acronym>ACID</acronym> properties. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-extension"> + <glossterm>Extension</glossterm> + <glossdef> + <para> + A software add-on package that can be installed on an + <glossterm linkend="glossary-instance">instance</glossterm> to + get extra features. + </para> + <para> + For more information, see + <xref linkend="extend-extensions" />. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-file-segment"> + <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, + so if a relation exceeds that size, it is split into multiple segments. + </para> + <para> + For more information, see + <xref linkend="storage-file-layout"/>. + </para> + <para> + (Don't confuse this term with the similar term + <glossterm linkend="glossary-wal-file">WAL segment</glossterm>). + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-foreign-data-wrapper"> + <glossterm>Foreign Data Wrapper</glossterm> + <glossdef> + <para> + A means of representing data that is not contained in the local + <glossterm 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 + possible to define a <glossterm linkend="glossary-foreign-server">foreign server</glossterm> and + <glossterm linkend="glossary-foreign-table">foreign table</glossterm>s. + </para> + <para> + For more information, see + <xref linkend="sql-createforeigndatawrapper"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-foreign-key"> + <glossterm>Foreign Key</glossterm> + <glossdef> + <para> + A type of <glossterm linkend="glossary-constraint">constraint</glossterm> + defined on one or more <glossterm linkend="glossary-column">columns</glossterm> + in a <glossterm linkend="glossary-table">table</glossterm> which + requires the value(s) in those <glossterm linkend="glossary-column">columns</glossterm> to + identify zero or one <glossterm linkend="glossary-tuple">row</glossterm> + in another (or, infrequently, the same) + <glossterm linkend="glossary-table">table</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-foreign-server"> + <glossterm>Foreign Server</glossterm> + <glossdef> + <para> + A named collection of + <glossterm linkend="glossary-foreign-table">foreign tables</glossterm> which + all use the same + <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrapper</glossterm> + and have other configuration values in common. + </para> + <para> + For more information, see + <xref linkend="sql-createserver"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-foreign-table"> + <glossterm>Foreign Table</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-relation">relation</glossterm> which appears to have + <glossterm linkend="glossary-tuple">rows</glossterm> and + <glossterm linkend="glossary-column">columns</glossterm> similar to a + regular <glossterm linkend="glossary-table">table</glossterm>, but will forward + requests for data through its + <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrapper</glossterm>, + which will return <glossterm linkend="glossary-result-set">result sets</glossterm> + structured according to the definition of the + <glossterm linkend="glossary-foreign-table">foreign table</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-createforeigntable"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-function"> + <glossterm>Function</glossterm> + <glossdef> + <para> + Any defined transformation of data. Many functions are already defined + within <productname>PostgreSQL</productname> itself, but user-defined + ones can also be added. + </para> + <para> + For more information, see + <xref linkend="sql-createfunction"/>. + </para> + </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 + <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>. + </para> + <para> + For more information, see + <xref linkend="sql-grant"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-heap"> + <glossterm>Heap</glossterm> + <glossdef> + <para> + Contains the values of <glossterm linkend="glossary-tuple">row</glossterm> + 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>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-host"> + <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>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-index"> + <glossterm>Index</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-relation">relation</glossterm> that contains + data derived from a <glossterm linkend="glossary-table">table</glossterm> + (or <glossterm linkend="glossary-relation">relation</glossterm> types + such as a <glossterm linkend="glossary-materialized-view">materialized view</glossterm>). + Its internal structure supports fast retrieval of and access to the original + data. + </para> + <para> + For more information, see + <xref linkend="sql-createindex"/>. + </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 linkend="glossary-table">table</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-insert"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-instance"> + <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. + </para> + <para> + An <glossterm>instance</glossterm> manages exactly one + <glossterm linkend="glossary-cluster">cluster</glossterm>. + </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>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-isolation"> + <glossterm>Isolation</glossterm> + <glossdef> + <para> + The property that the effects of a transaction are not visible to + <glossterm linkend="glossary-concurrency">concurrent transactions</glossterm> + before it commits. + This is one of the <acronym>ACID</acronym> properties. + </para> + <para> + For more information, see <xref linkend="transaction-iso" />. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-join"> + <glossterm>Join</glossterm> + <glossdef> + <para> + A <acronym>SQL</acronym> keyword used in <command>SELECT</command> statements for + combining data from multiple <glossterm linkend="glossary-relation">relations</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-key"> + <glossterm>Key</glossterm> + <glossdef> + <para> + A means of identifying a <glossterm linkend="glossary-tuple">row</glossterm> within a + <glossterm linkend="glossary-table">table</glossterm> or + <glossterm linkend="glossary-relation">relation</glossterm> by + values contained within one or more + <glossterm linkend="glossary-attribute">attributes</glossterm> + in that table. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-lock"> + <glossterm>Lock</glossterm> + <glossdef> + <para> + A mechanism that allows a process to limit or prevent simultaneous + access to a resource. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-log-file"> + <glossterm>Log File</glossterm> + <glossdef> + <para> + Log files contain human-readable text lines about events. + Examples include login failures, long-running queries, etc. + </para> + <para> + For more information, see + <xref linkend="logfile-maintenance"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-logger"> + <glossterm>Logger (process)</glossterm> + <glossdef> + <para> + If activated, the + <glossterm linkend="glossary-logger">Logger</glossterm> process + writes information about database events into the current + <glossterm linkend="glossary-log-file">log file</glossterm>. + When reaching certain time- or + volume-dependent criteria, a new log file is created. + Also called <firstterm>syslogger</firstterm>. + </para> + <para> + For more information, see + <xref linkend="runtime-config-logging"/>. + </para> + </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" /> + </glossentry> + + <glossentry id="glossary-materialized"> + <glossterm>Materialized</glossterm> + <glossdef> + <para> + The property that some information has been pre-computed and stored + for later use, rather than computing it on-the-fly. + </para> + <para> + This term is used in + <glossterm linkend="glossary-materialized-view">materialized view</glossterm>, + to mean that the data derived from the view's query is stored on + disk separately from the sources of that data. + </para> + <para> + This term is also used to refer to some multi-step queries to mean that + the data resulting from executing a given step is stored in memory + (with the possibility of spilling to disk), so that it can be read multiple + times by another step. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-materialized-view"> + <glossterm>Materialized View</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-relation">relation</glossterm> that is + defined in the same way that a a <glossterm linkend="glossary-view">view</glossterm> + is, 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>, or + <command>DELETE</command> operations. + </para> + <para> + For more information, see + <xref linkend="sql-creatematerializedview"/>. + </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 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> + <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>: + a partition is a user-defined criteria that identifies which neighboring + <glossterm linkend="glossary-tuple">rows</glossterm> can be considered by the + function. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-partitioned-table"> + <glossterm>Partitioned Table</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>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-postmaster"> + <glossterm>Postmaster (process)</glossterm> + <glossdef> + <para> + The very first process of an <glossterm linkend="glossary-instance">instance</glossterm>. + It starts and manages the other auxiliary processes and creates + <glossterm linkend="glossary-backend">backend processes</glossterm> + on demand. + </para> + <para> + For more information, see + <xref linkend="server-start"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-primary-server"> + <glossterm>Primary (server)</glossterm> + <glossdef> + <para> + When two or more <glossterm linkend="glossary-database">databases</glossterm> + are linked via <glossterm linkend="glossary-replication">replication</glossterm>, + the <glossterm linkend="glossary-server">server</glossterm> + that is considered the authoritative source of information is called + the <firstterm>primary</firstterm>, + also known as a <firstterm>master</firstterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-primary-key"> + <glossterm>Primary Key</glossterm> + <glossdef> + <para> + A special case of a + <glossterm linkend="glossary-unique-constraint">unique constraint</glossterm> + defined on a + <glossterm linkend="glossary-table">table</glossterm> or other + <glossterm linkend="glossary-relation">relation</glossterm> that also + guarantees that all of the + <glossterm linkend="glossary-attribute">attributes</glossterm> + within the <glossterm linkend="glossary-primary-key">primary key</glossterm> + do not have <glossterm linkend="glossary-null">null</glossterm> values. + As the name implies, there can be only one + primary key per table, though it is possible to have multiple unique + constraints that also have no null-capable attributes. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-procedure"> + <glossterm>Procedure</glossterm> + <glossdef> + <para> + A defined set of instructions for manipulating data within a + <glossterm linkend="glossary-database">database</glossterm>. + A <glossterm linkend="glossary-procedure">procedure</glossterm> can + be written in a variety of programming languages. They are + similar to <glossterm linkend="glossary-function">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 + <xref linkend="sql-createprocedure"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-query"> + <glossterm>Query</glossterm> + <glossdef> + <para> + A request sent by a client to a <glossterm linkend="glossary-backend">backend</glossterm>, + usually to return results or to modify data on the database. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-planner"> + <glossterm>Query Planner</glossterm> + <glossdef> + <para> + The part of <productname>PostgreSQL</productname> that is devoted to + determining (<firstterm>planning</firstterm>) the most efficient way to + execute <glossterm linkend="glossary-query">queries</glossterm>. + Also known as <firstterm>query optimizer</firstterm>, + <firstterm>optimizer</firstterm>, or simply <firstterm>planner</firstterm>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Record</glossterm> + <glosssee otherterm="glossary-tuple" /> + </glossentry> + + <glossentry> + <glossterm>Recycling</glossterm> + <glosssee otherterm="glossary-wal-file" /> + </glossentry> + + <glossentry id="glossary-referential-integrity"> + <glossterm>Referential Integrity</glossterm> + <glossdef> + <para> + A means of restricting data in one <glossterm linkend="glossary-relation">relation</glossterm> + by a <glossterm linkend="glossary-foreign-key">foreign key</glossterm> + so that it must have matching data in another + <glossterm linkend="glossary-relation">relation</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-relation"> + <glossterm>Relation</glossterm> + <glossdef> + <para> + The generic term for all objects in a + <glossterm linkend="glossary-database">database</glossterm> + that have a name and a list of + <glossterm linkend="glossary-attribute">attributes</glossterm> + defined in a specific order. + <glossterm linkend="glossary-table">Tables</glossterm>, + <glossterm linkend="glossary-view">views</glossterm>, + <glossterm linkend="glossary-foreign-table">foreign tables</glossterm>, + <glossterm linkend="glossary-materialized-view">materialized views</glossterm>, and + <glossterm linkend="glossary-index">indexes</glossterm> are all relations. + </para> + <para> + <firstterm>Class</firstterm> is an archaic synonym for + <firstterm>relation</firstterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-replica"> + <glossterm>Replica</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-database">database</glossterm> that is paired + with a <glossterm linkend="glossary-primary-server">primary</glossterm> + database and is maintaining a copy of some or all of the primary database's + data. The foremost reasons for doing this are to allow for greater access + to that data, and to maintain availability of the data in the event that + the <glossterm linkend="glossary-primary-server">primary</glossterm> + becomes unavailable. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-replication"> + <glossterm>Replication</glossterm> + <glossdef> + <para> + The act of reproducing data on one + <glossterm linkend="glossary-server">server</glossterm> onto another + server called a <glossterm linkend="glossary-replica">replica</glossterm>. + This can take the form of <firstterm>physical replication</firstterm>, + where all file changes from one server are copied verbatim, + or <firstterm>logical replication</firstterm> where a defined subset + of data changes are conveyed using a higher-level representation. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-result-set"> + <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> + 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 linkend="glossary-tuple">rows</glossterm> with the same ordered set of + <glossterm linkend="glossary-attribute">attributes</glossterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-revoke"> + <glossterm>Revoke</glossterm> + <glossdef> + <para> + A command to prevent access to a named set of + <glossterm linkend="glossary-database">database</glossterm> objects for a + named list of <glossterm linkend="glossary-role">roles</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-revoke"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-role"> + <glossterm>Role</glossterm> + <glossdef> + <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. + This is often done for convenience or to ensure completeness + when multiple <glossterm linkend="glossary-user">users</glossterm> need + the same privileges. + </para> + <para> + For more information, see + <xref linkend="sql-createrole"/>. + </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 linkend="glossary-transaction">transaction</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-rollback"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Row</glossterm> + <glosssee otherterm="glossary-tuple" /> + </glossentry> + + <glossentry id="glossary-savepoint"> + <glossterm>Savepoint</glossterm> + <glossdef> + <para> + A special mark inside 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. + </para> + <para> + For more information, see + <xref linkend="sql-savepoint"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-schema"> + <glossterm>Schema</glossterm> + <glossdef> + <para> + 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. + There is no restriction on reusing a name in multiple schemas. + </para> + <para> + All system-defined SQL objects reside in schema <literal>pg_catalog</literal>, + and commonly many user-defined SQL objects reside in the default schema + <literal>public</literal>, + but it is common and recommended that other schemas are created to hold + application-specific SQL objects. + </para> + </glossdef> + <glossdef> + <para> + 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 + subset thereof. + </para> + <para> + For more information, see + <xref linkend="ddl-schemas"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Segment</glossterm> + <glosssee otherterm="glossary-file-segment" /> + </glossentry> + + <glossentry id="glossary-select"> + <glossterm>Select</glossterm> + <glossdef> + <para> + The <acronym>SQL</acronym> command used to request data from a + <glossterm linkend="glossary-database">database</glossterm>. + Normally, <command>SELECT</command> commands are not expected to modify the + <glossterm linkend="glossary-database">database</glossterm> in any way, + but it is possible that + <glossterm linkend="glossary-function">functions</glossterm> invoked within + the query could have side effects that do modify data. + </para> + <para> + For more information, see + <xref linkend="sql-select"/>. + </para> + </glossdef> + </glossentry> + +<!-- XXX should define all other isolation levels (and improve this definition) + <glossentry id="glossary-serializable"> + <glossterm>Serializable (isolation level)</glossterm> + <glossdef> + <para> + Transactions defined as <literal>SERIALIZABLE</literal> are unable to + see changes made within other transactions. In effect, for the + initializing session the entire <glossterm linkend="glossary-database">database</glossterm> + appears to be frozen for the duration of the + <glossterm linkend="glossary-transaction">Transaction</glossterm>. + </para> + </glossdef> + </glossentry> +--> + + <glossentry id="glossary-server"> + <glossterm>Server</glossterm> + <glossdef> + <para> + 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. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-session"> + <glossterm>Session</glossterm> + <glossdef> + <para> + A state that allows a client and a backend to interact, + communicating over a <glossterm linkend="glossary-connection">connection</glossterm>. + </para> + </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"/>. + </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 linkend="glossary-instance">instance</glossterm>. + It mirrors parts of <glossterm linkend="glossary-database">database</glossterm> + files, provides a transient area for + <glossterm linkend="glossary-wal-record">WAL records</glossterm>, + and stores additional common information. + Note that shared memory belongs to the complete instance, not to a single + database. + </para> + <para> + The largest part of shared memory is known as <firstterm>shared buffers</firstterm> + and is used to mirror part of data files, organized into pages. + When 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 + <xref linkend="runtime-config-resource-memory"/>. + </para> + </glossdef> + </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>. + </para> + <para> + For more information, see + <xref linkend="manage-ag-overview"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-sql-standard"> + <glossterm>SQL Standard</glossterm> + <glossdef> + <para> + A series of documents that define the <acronym>SQL</acronym> language. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-stats-collector"> + <glossterm>Stats Collector</glossterm> + <glossdef> + <para> + This process collects statistical information about the + <glossterm linkend="glossary-cluster">Cluster</glossterm>'s activities. + </para> + <para> + For more information, see + <xref linkend="monitoring-stats"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-system-catalog"> + <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>. + 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 + of the same and additional information as mandated by the + <glossterm linkend="glossary-sql-standard">SQL standard</glossterm>. + </para> + <para> + For more information, see + <xref linkend="ddl-schemas"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-table"> + <glossterm>Table</glossterm> + <glossdef> + <para> + A collection of <glossterm linkend="glossary-tuple">tuples</glossterm> having + a common data structure (the same number of + <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 + <productname>PostgreSQL</productname>. + </para> + <para> + For more information, see + <xref linkend="sql-createtable"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-tablespace"> + <glossterm>Tablespace</glossterm> + <glossdef> + <para> + A named location on the server filesystem. + All <glossterm linkend="glossary-sql-object">SQL objects</glossterm> + which require storage beyond their definition in the + <glossterm linkend="glossary-system-catalog">system catalog</glossterm> + must belong to a single tablespace. + Initially, an instance contains a single usable tablespace which is + used as the default one for all SQL objects, called <literal>pg_default</literal>. + </para> + <para> + For more information, see + <xref linkend="manage-ag-tablespaces"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-temporary-table"> + <glossterm>Temporary Table</glossterm> + <glossdef> + <para> + <glossterm linkend="glossary-table">Tables</glossterm> that exist either + for the lifetime of a + <glossterm linkend="glossary-session">session</glossterm> or a + <glossterm linkend="glossary-transaction">transaction</glossterm>, as + specified at the time of creation. + The data in them is not visible to other sessions, and is not + <glossterm linkend="glossary-logged">logged</glossterm>. + Temporary tables are often used to store intermediate data for a + multi-step operation. + </para> + <para> + For more information, see + <xref linkend="sql-createtable"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-transaction"> + <glossterm>Transaction</glossterm> + <glossdef> + <para> + A combination of commands that must act as a single + <glossterm linkend="glossary-atomic">atomic</glossterm> command: they all + succeed or all fail as a single unit, and their effects are not visible to + other <glossterm linkend="glossary-session">sessions</glossterm> until + the transaction is complete, and possibly even later, depending on the + isolation level. + </para> + <para> + For more information, see + <xref linkend="transaction-iso"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-trigger"> + <glossterm>Trigger</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-function">function</glossterm> which can + be defined to execute whenever a certain operation (<command>INSERT</command>, + <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 + <glossterm linkend="glossary-transaction">transaction</glossterm> as the + statement which invoked it, and if the function fails, then the invoking + statement also fails. + </para> + <para> + For more information, see + <xref linkend="sql-createtrigger"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-tuple"> + <glossterm>Tuple</glossterm> + <glossdef> + <para> + A collection of <glossterm linkend="glossary-attribute">attributes</glossterm> + in a fixed order. + That order may be defined by the <glossterm linkend="glossary-table">table</glossterm> + where the tuple is contained, in which case the tuple is often called a + <firstterm>row</firstterm>. It may also be defined by the structure of a + result set, in which case it is sometimes called a <firstterm>record</firstterm>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-unique-constraint"> + <glossterm>Unique Constraint</glossterm> + <glossdef> + <para> + A type of <glossterm linkend="glossary-constraint">constraint</glossterm> + defined on a <glossterm linkend="glossary-relation">relation</glossterm> + which restricts the values allowed in one or a combination of columns + so that each value or combination of values can only appear once in the + relation — that is, no other row in the relation contains values + that are equal to those. + </para> + <para> + Because <glossterm linkend="glossary-null">null values</glossterm> are + not considered equal to each other, multiple rows with null values are + allowed to exist without violating the unique constraint. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-unlogged"> + <glossterm>Unlogged</glossterm> + <glossdef> + <para> + The property of certain <glossterm linkend="glossary-relation">relations</glossterm> + that the changes to them are not reflected in the + <glossterm linkend="glossary-wal">WAL</glossterm>. + This disables replication and crash recovery for these relations. + </para> + <para> + The primary use of unlogged tables is for storing + transient work data that must be shared across processes. + </para> + <para> + <glossterm linkend="glossary-temporary-table">Temporary tables</glossterm> + are always unlogged. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-update"> + <glossterm>Update</glossterm> + <glossdef> + <para> + A <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. + </para> + <para> + For more information, see + <xref linkend="sql-update"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-user"> + <glossterm>User</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-role">role</glossterm> that has the + <literal>LOGIN</literal> privilege. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-user-mapping"> + <glossterm>User mapping</glossterm> + <glossdef> + <para> + The translation of login credentials in the local + <glossterm linkend="glossary-database">database</glossterm> to credentials + in a remote data system defined by a + <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrapper</glossterm>. + </para> + <para> + For more information, see + <xref linkend="sql-createusermapping"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-vacuum"> + <glossterm>Vacuum</glossterm> + <glossdef> + <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 + 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 + via <glossterm linkend="glossary-autovacuum">autovacuum</glossterm> processes. + </para> + <para> + For more information, see + <xref linkend="routine-vacuuming"/> . + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-view"> + <glossterm>View</glossterm> + <glossdef> + <para> + A <glossterm linkend="glossary-relation">relation</glossterm> that is defined by a + <command>SELECT</command> statement, but has no storage of its own. + Any time a query references a view, the definition of the view is + substituted into the query as if the user had typed it as a subquery + instead of the name of the view. + </para> + <para> + For more information, see + <xref linkend="sql-createview"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-wal-archiver"> + <glossterm>WAL Archiver (process)</glossterm> + <glossdef> + <para> + A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm> + for the purposes of creating backups or keeping + <glossterm linkend="glossary-replica">replicas</glossterm> current. + </para> + <para> + For more information, see + <xref linkend="continuous-archiving"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-wal-file"> + <glossterm>WAL File</glossterm> + <glossdef> + <para> + Also known as <firstterm>WAL segment</firstterm> or + <firstterm>WAL segment file</firstterm>. + Each of the sequentially-numbered files that provide storage space for + <glossterm linkend="glossary-wal">WAL</glossterm>. + The files are all of the same predefined size + 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 + before the crash. + </para> + <para> + Each WAL file can be released after a + <glossterm linkend="glossary-checkpoint">checkpoint</glossterm> + writes all the changes in it to the corresponding data files. + Releasing the file can be done either by deleting it, or by changing its + name so that it will be used in the future, which is called + <firstterm>recycling</firstterm>. + </para> + <para> + For more information, see + <xref linkend="wal-internals"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>WAL</glossterm> + <glosssee otherterm="glossary-wal" /> + </glossentry> + + <glossentry id="glossary-wal-record"> + <glossterm>WAL Record</glossterm> + <glossdef> + <para> + A low-level description of an individual data change. + It contains sufficient information for the data change to be + re-executed (<firstterm>replayed</firstterm>) in case a system failure + causes the change to be lost. + WAL records use a non-printable binary format. + </para> + <para> + For more information, see + <xref linkend="wal-internals"/>. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>WAL Segment</glossterm> + <glosssee otherterm="glossary-wal-file" /> + </glossentry> + + <glossentry id="glossary-wal-writer"> + <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>. + </para> + <para> + For more information, see + <xref linkend="runtime-config-wal"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-window-function"> + <glossterm>Window Function</glossterm> + <glossdef> + <para> + A type of <glossterm linkend="glossary-function">function</glossterm> whose + result is based on values found in + <glossterm linkend="glossary-tuple">rows</glossterm> of the same + <glossterm linkend="glossary-partition">partition</glossterm>. + All <glossterm linkend="glossary-aggregate">aggregate functions</glossterm> + can be used as window functions, but window functions can also be + used to, for example, give ranks to each of the rows in the partition. + Also known as <firstterm>analytic functions</firstterm>. + </para> + <para> + For more information, see + <xref linkend="tutorial-window"/>. + </para> + </glossdef> + </glossentry> + + <glossentry id="glossary-wal"> + <glossterm>Write-Ahead Log</glossterm> + <glossdef> + <para> + The journal that keeps track of the changes in the + <glossterm linkend="glossary-instance">instance</glossterm> as user- and + system-invoked operations take place. + It comprises many individual + <glossterm linkend="glossary-wal-record">WAL records</glossterm> written + sequentially to <glossterm linkend="glossary-wal-file">WAL files</glossterm>. + </para> + </glossdef> + </glossentry> + </glosslist> +</appendix> diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 1f7bd328784..ba3d6261029 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -278,6 +278,7 @@ &docguide; &limits; &acronyms; + &glossary; &color; </part> |