0001-glossary-v8.patch
text/x-diff
Patch
Format: unified
Series: patch v8-0001
| File | + | − |
|---|---|---|
| doc/src/sgml/filelist.sgml | 1 | 0 |
| doc/src/sgml/glossary.sgml | 1692 | 0 |
| doc/src/sgml/postgres.sgml | 1 | 0 |
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 1043d0f7ab..cf21ef857e 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 0000000000..7d981a9223 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1692 @@ +<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 (process)</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> + Processes of an <glossterm linkend="glossary-instance">instance</glossterm> + which act on behalf of client <glossterm linkend="glossary-session">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> + Individual processes within an <glossterm linkend="glossary-instance">instance</glossterm>, + which run system- or user-supplied code. + They provide 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>. + <glossterm linkend="glossary-extension">Extensions</glossterm> can add + custom background worker processes, as well. + </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, instead of generating fewer larger + <acronym>I/O</acronym> peaks which could block other processes. + </para> + <para> + For more information, see + <xref linkend="runtime-config-resource"/>. + </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> + </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> + This should not be confused with the + <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 process that writes dirty pages to the file system and creates a special + checkpoint WAL 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 has been written. + </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> + 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. + </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 fixed + 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 Object</glossterm>s. + </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">Row</glossterm>s 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-heap">Heap</glossterm> or + <glossterm linkend="glossary-index">Index</glossterm> object. + <glossterm linkend="glossary-file-segment">File Segment</glossterm>s are + limited in size by a configuration value and if that size is exceeded, it + will be split into multiple physical files. + </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</glossterm>(s). 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">Column</glossterm>s + in a <glossterm linkend="glossary-table">Table</glossterm> which + requires the value(s) in those <glossterm linkend="glossary-column">Column</glossterm>s 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 Table</glossterm>s 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 Object</glossterm>s 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">User</glossterm>s or <glossterm linkend="glossary-role">Role</glossterm>s 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). The <glossterm linkend="glossary-heap">Heap</glossterm> + is realized within <glossterm linkend="glossary-database">Database</glossterm> files. + </para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Host</glossterm> + <glosssee otherterm="glossary-server" /> + </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">Connection</glossterm>s 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>Instance</glossterm>s 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">Relation</glossterm>s. + </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">Attribute</glossterm>s + in that <glossterm linkend="glossary-table">Table</glossterm>. + </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> + <glossterm>Log File</glossterm>s 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 + <glossterm linkend="glossary-table">Table</glossterm>s are <glossterm linkend="glossary-logged">Logged</glossterm>. 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 act of storing information rather than just the method of accessing + the information. This term is used in <glossterm linkend="glossary-materialized-view">Materialized + View</glossterm>s, meaning that the data derived from the + <glossterm linkend="glossary-view">View</glossterm> is actually stored on disk separately from + the sources of that data. When using the term + <glossterm linkend="glossary-materialized">Materialized</glossterm> to refer to + multi-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 linkend="glossary-relation">Relation</glossterm> that is defined in the same way that + 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> + In reference to a <glossterm linkend="glossary-table">Table</glossterm>: + A <glossterm linkend="glossary-table">Table</glossterm> that can be queried directly, + or via a partitioned table, which is a collection of + sub-tables, each capable of holding one defined + subset of information that does not overlap with any other + table in the collection. + </para> + </glossdef> + <glossdef> + <para> + In reference to a <glossterm linkend="glossary-window-function">window function</glossterm>: + a partition is a definition that identifies which neighboring + <glossterm linkend="glossary-tuple">Row</glossterm>s can be considered by the + function. + </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">Database</glossterm>s 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">Attribute</glossterm>s + 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 may seem + 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">Attribute</glossterm>s + defined in a specific order. <glossterm linkend="glossary-table">Table</glossterm>s, + <glossterm linkend="glossary-view">View</glossterm>s, <glossterm linkend="glossary-foreign-table">Foreign Table</glossterm>s, + <glossterm linkend="glossary-materialized-view">Materialized View</glossterm>s, and + <glossterm linkend="glossary-index">Index</glossterm>es 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 <glossterm linkend="glossary-database">Database</glossterm>'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">Row</glossterm>s with the same ordered set of + <glossterm linkend="glossary-attribute">Attribute</glossterm>s. + </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-user">User</glossterm>s and <glossterm linkend="glossary-role">Role</glossterm>s. + </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">Database</glossterm>. <glossterm linkend="glossary-role">Role</glossterm>s 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">User</glossterm>s 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 <glossterm linkend="glossary-schema">Schema</glossterm> is a namespace for + <glossterm linkend="glossary-sql-object">SQL object</glossterm>s, which all reside in the same + <glossterm linkend="glossary-database">database</glossterm>. Each + <glossterm linkend="glossary-sql-object">SQL object</glossterm> must reside in exactly one + <glossterm linkend="glossary-schema">Schema</glossterm>. + </para> + <para> + The names of <glossterm linkend="glossary-sql-object">SQL Objects</glossterm> + of the same type in the same schema are enforced unique. There is no + restriction on reusing a name in multiple schemas. + </para> + <para> + Many <glossterm linkend="glossary-sql-object">SQL Object</glossterm>s reside in the default + <glossterm linkend="glossary-schema">Schema</glossterm> <literal>public</literal>, but it is + expected that more schemas are created to hold application-specific + <glossterm linkend="glossary-sql-object">SQL Object</glossterm>s. + </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">Constraint</glossterm>s, 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 query a <glossterm linkend="glossary-database">Database</glossterm>. + Normally, <command>SELECT</command>s are not expected to modify the + <glossterm linkend="glossary-database">Database</glossterm> in any way, but it is possible that + <glossterm linkend="glossary-function">Function</glossterm>s 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> + + <glossentry id="glossary-serializable"> + <glossterm>Serializable</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> + + <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 an area for + <glossterm linkend="glossary-wal-record">WAL Record</glossterm>s, and stores additional common + information. Note that <glossterm linkend="glossary-shared-memory">Shared Memory</glossterm> belongs to + the complete <glossterm linkend="glossary-instance">Instance</glossterm>, not to a single + <glossterm linkend="glossary-database">Database</glossterm>. + </para> + <para> + <glossterm linkend="glossary-shared-memory">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 + <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>, + <glossterm linkend="glossary-sequence">sequence</glossterm>, + <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-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">Table</glossterm>s and + <glossterm linkend="glossary-view">View</glossterm>s which describe the structure of all + <acronym>SQL</acronym> objects of the <glossterm linkend="glossary-database">Database</glossterm> + and the <glossterm linkend="glossary-global-sql-object">Global SQL Object</glossterm>s of the + <glossterm linkend="glossary-cluster">Cluster</glossterm>. The <glossterm linkend="glossary-system-catalog">System + Catalog</glossterm> resides in the schema + <literal>pg_catalog</literal>. Main parts are mirrored as + <glossterm linkend="glossary-view">View</glossterm>s in the <glossterm linkend="glossary-schema">Schema</glossterm> + <literal>information_schema</literal>. + </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 Object</glossterm>s + which require storage beyond their definition in the + <glossterm linkend="glossary-system-catalog">System Catalog</glossterm> + must belong to a single tablespace. + </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">Table</glossterm>s 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">Session</glossterm>s until + the transaction is complete. + </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 <glossterm linkend="glossary-trigger">Trigger</glossterm> + executes within the same <glossterm linkend="glossary-transaction">Transaction</glossterm> as the + statement which invoked it, and if the <glossterm linkend="glossary-function">Function</glossterm> + 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">Attribute</glossterm>s in a fixed order. + That order may be defined by the <glossterm linkend="glossary-table">Table</glossterm> where + the <glossterm linkend="glossary-tuple">Tuple</glossterm> is found, in which case the + <glossterm linkend="glossary-tuple">Tuple</glossterm> is often called a + row or record. + It may also be defined by the structure of a + <glossterm linkend="glossary-result-set">Result Set</glossterm>. + </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> + Changes to an unlogged <glossterm linkend="glossary-relation">Relation</glossterm> + 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 Table</glossterm>s 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 is said to be a <glossterm linkend="glossary-user">User</glossterm>. + </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 <glossterm linkend="glossary-view">View</glossterm>, the + definition of the <glossterm linkend="glossary-view">View</glossterm> is substituted into the + query as if the user had typed that subquery instead of the name of + the <glossterm linkend="glossary-view">View</glossterm>. + </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 File</glossterm>s + for the purposes of creating backups or keeping + <glossterm linkend="glossary-replica">Replica</glossterm>s 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 numerically-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 1f7bd32878..ba3d626102 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -278,6 +278,7 @@ &docguide; &limits; &acronyms; + &glossary; &color; </part>