From 690473e51fc442c55c1744f69813795fce9d22dc Mon Sep 17 00:00:00 2001 From: coreyhuinker Date: Tue, 10 Mar 2020 11:26:29 -0400 Subject: [PATCH] add glossary page --- doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/glossary.sgml | 1008 ++++++++++++++++++++++++++++++++++++ doc/src/sgml/postgres.sgml | 1 + 3 files changed, 1010 insertions(+) create mode 100644 doc/src/sgml/glossary.sgml diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 3da2365ea9..504c8a6326 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -170,6 +170,7 @@ + diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml new file mode 100644 index 0000000000..851e9debe6 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1008 @@ + + Glossary + + This is a list of terms and their in the context of PostgreSQL and Databases in general. + + + + Aggregate + + + To combine a collection of data values into a single value, whose value may not be of the same type as the original values. Aggregate Functions combine multiple Rows that share a common set of values into one Row, which means that the only data visible in the values in common, and the aggregates of the non-common data. + + + For more information, see Aggregate Functions. + + + + + + Analytic + + + A Function whose computed value can reference values found in nearby Rows of the same Result Set. + + + For more information, see Window Functions. + + + + + + Archiver + + + A process that backs up WAL Files in order to reclaim space on the file system. + + + For more information, see Backup and Restore: Continuous Archiving and Point-in-Time Recovery (PITR). + + + + + + Atomic + + + In reference to the value of an Attribute or Datum: cannot be broken up into smaller components. + + + In reference to an operation: An event that cannot be completed in part: it must either entirely succeed or entirely fail. A series of SQL statements can be combined into a Transaction, and that transaction is said to be Atomic. + + + + + + Attribute + + + A typed data element found within a Tuple or Relation or Table. + + + + + + Autovacuum + + + Processes that remove outdated MVCC Records of the Heap and Index. + + + For more information, see Routine Database Maintenance Tasks: Routine Vacuuming. + + + + + + Backend Process + + + Processes of an Instance which act on behalf of client Connections and handle their requests. + + + (Don't confuse this term with the similar terms Background Worker or Background Writer). + + + + + + Backend Server + + + See Instance. + + + + + + Background Worker + + + Individual processes within an Instance, which run system- or user-supplied code. Typical use cases are processes which handle parts of an SQL query to take advantage of parallel execution on servers with multiple CPUs. + + + For more information, see Background Worker Processes. + + + + + + Background Writer + + + Writes continuously dirty pages from Shared Memory to the file system. It starts periodically, but works only for a short period in order to distribute +expensive I/O activity over time instead of generating fewer large I/O peaks which could block other processes. + + + For more information, see Server Configuration: Resource Consumption. + + + + + + Cast + + + A conversion of a Datum from its current data type to another data type. + + + + + + Catalog + + + The SQL standard uses this standalone term to indicate what is called a +Database in PostgreSQL's terminology. + + + For more information, see Managing Databases: Overview. + + + + + + Check Constraint + + + A type of Constraint defined on a Relation which restricts the values +allowed in one or more Attributes. The Check Constraint can make reference to +any Attribute in the Relation, but cannot reference other Rows of the same Relation or other Relations. + + + For more information, see Constraints. + + + + + + Checkpointer + + + A process that writes dirty pages and WAL Records to the file system and creates a special checkpoint record. This process is initiated when predefined conditions are met, such as a specified amount of time has passed, or a certain volume of records have been collected. + + + + + + Cluster + + + A group of Databases plus their Global SQL Objects. The Cluster is managed by exactly one Instance. A newly created Cluster will have three Databases created automatically. They are template0, template1, and postgres. It is expected that an application will create one or more additional Databases aside from these three. + + + + + + Column + + + An Attribute found in a Table or View. + + + + + + Commit + + + The act of finalizing a Transaction within the Database. + + + For more information, see SQL Commands: COMMIT. + + + + + + Concurrency + + + The concept that multiple independent operations can be happening within the Database at the same time. + + + + + + Connection + + + A TCP/IP or socket line for inter-process communication. If the two involved processes reside on different servers, TCP/IP must be used. Otherwise both techniques are possible. + + + + + + Constraint + + + A method of restricting the values of data allowed within a Table. + + + For more information, see Constraints. + + + + + + Data Area + + + See Data Directory. + + + + + + Data Directory + + + The base directory on the filesystem of a Server that contains all data +files and subdirectories associated with a Cluster. The name for this directory in configuration files is PGDATA. + + + For more information, see Database Physical Storage: Database File Layout. + + + + + + Database + + + A named collection of SQL Objects. + + + For more information, see Managing Databases: Overview. + + + + + + Database Server + + + See Instance. + + + + + + Datum + + + The internal representation of a SQL data type. + + + + + + Delete + + + A SQL command whose purpose is to remove Rows from a given Table or Relation. + + + For more information, see SQL Commands: DELETE. + + + + + + File Segment + + + If a Database object grows in size past a designated limit, it may be +split into multiple physical files. These files are called File Segments. + + + (Don't confuse this term with the similar term WAL Segment). + + + For more information, see Database Physical Storage: Database File Layout. + + + + + + Foreign Data Wrapper + + + A means of representing data that is not contained in the local Database as if were in local Table(s). With a Foreign Data Wrapper it is possible to define a Foreign Server and Foreign Tables. + + + For more information, see SQL Commands: CREATE FOREIGN DATA WRAPPER. + + + + + + Foreign Key + + + A type of Constraint defined on one or more Columns in a Table which requires the value in those Columns to uniquely identify a Row in the specified Table. + + + + + + Foreign Server + + + A named collection of Foreign Tables which all use the same Foreign Data Wrapper and have other configuration values in common. + + + For more information, see SQL Commands: CREATE SERVER. + + + + + + Foreign Table + + + A Relation which appears to have Rows and Columns similar to a regular Table, but will forward requests for data through its Foreign Data Wrapper, which will return Result Sets structured according to the definition of the Foreign Table. + + + For more information, see SQL Commands: CREATE FOREIGN TABLE. + + + + + + Function + + + Any pre-defined tranformation of data. Many Functions are already defined within PostgreSQL itself, but can also be user-defined. + + + For more information, see SQL Commands: CREATE FUNCTION. + + + + + + Global SQL Object + + + Not all objects belong to a certain Schema, or to their Database, or even to the complete Cluster. These are referred to as Global SQL Objects. Collations and Extensions such as Foreign Data Wrappers reside at the Database level; Database names, Roles, Tablespaces, Replication origins, and subscriptions for logical Replication at the Cluster level. + + + + + + Grant + + + A SQL command that is used to enable Users or Roles to access specific objects within the Database. + + + For more information, see SQL Commands: GRANT. + + + + + + Heap + + + Contains the original values of Row attributes (i.e. the data). The Heap is realized within Database files and mirrored in Shared Memory. + + + + + + Host + + + See Server. + + + + + + Index + + + A Relation that contains data derived from a Table (or Relation such as a Materialized View) that stores the data in a way that makes specific values easier to retrieve. + + + For more information, see SQL Commands: CREATE INDEX. + + + + + + Insert + + + A SQL command used to add new data into a Table. + + + For more information, see SQL Commands: INSERT. + + + + + + Instance + + + An Instance is a group of processes plus their common Shared Memory running on a single Server. The Instance handles all key features of a DBMS: read and write access to files and Shared Memory, assurance of the ACID paradigm, MVCC, Connections to client programms, backup, recovery, replication, privileges, etc. + + + An Instance manages exactly one Cluster. + + + Many Instances can run on the same server as long as they use different IP ports and manage different Clusters. Different Instances on a server may use the same or different versions of PostgreSQL. + + + + + + Join + + + A technique used with SELECT statements for correlating data in one or more Relations. + + + + + + Key + + + A means of identifying a Row within a Table or Relation by values contained within one or more Attributes in that Table. + + + + + + Lock + + + A mechanism for one process temporarily preventing data from being manipulated by any other process. + + + + + + Log Record + + + See WAL Record. + + + + + + Logged + + + A Table is considered Logged if changes to the Table are sent to the WAL Log. By default, all regular Tables are Logged. A Table can be speficied as unlogged either at creation time or via the ALTER TABLE command. The primary use of unlogged Tables is for storing transient work data that must be shared across processes, but with a final result stored in logged Tables. Temporary Tables are always unlogged. + + + + + + Master + + + When two or more Databases are linked via Replication, the Server that is considered the authoritative source of information is called the Master. + + + + + + Materialized + + + The act of storing information rather than just the means of accessing the information. This term is used in Materialized Views meaning that the data derived from the View is actually stored on disk separate from the sources of that data. When the term Materialized is used in speaking about mulit-step queries, it means that the data of a given step is stored (in memory, but that storage may spill over onto disk). + + + + + + Materialized View + + + A Relation that is defined in the same way that a View is, but it stores +data in the same way that a Table does. it cannot be modified via INSERT, UPDATE, or DELETE operations. + + + For more information, see SQL Commands: CREATE MATERIALIZED VIEW. + + + + + + Null + + + A concept of non-existence that is a central tenet of Relational Database Theory. It represents the absence of value. + + + + + + Partition + + + A Table that can be queried independently by its own name, but can also be queried via another Table, a partitioend 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 set of Tables. + + + A defined boundary used in an Analytic Function to identify which neighboring Rows can be considered by the Function for this particular Row. + + + + + + Postmaster + + + The very first process of an Instance. It starts the other processes and creates Backend Processes on demand. + + + For more information, see Server Setup and Operation: Starting the Database Server + + + + + + Primary Key + + + A special case of Unique Index defined on a Table or other Relation that also guarantees that all of the Attributes within the Primary Key do not have Null values. As the name implies, there can be only one Primary Key per Table, though it is possible to have multiple Unique Indexes that also have no Null-capable Attributes. + + + + + + Procedure + + + A defined set of instructions for manipulating data within a Database. Procedure can be written in a variety of programming languages. They may seem similar to Functions but are different in that they must be invoked via the CALL command rather than the SELECT or PERFORM commands, and they are allowed to make transactional statements such as COMMIT and ROLLBACK. + + + For more information, see SQL Commands: CREATE PROCEDURE. + + + + + + Record + + + A data structure that consists of one or more Attributes in a defined order. + + + A single Row of a Table or other Relation. + + + + + + Referential Integrity + + + The means of restricting data in one Relation such that it must have matching data in another Relation. + + + + + + Relation + + + The generic term for all objects in a Database that have a name and a list of Attributes defined in a specific order. Tables, Views, Foreign Tables, Materialized Views, and Indexes are all Relations. + + + + + + Replica + + + A Database that is paired with a Master Database and is maintaining a copy of some or all of the Master Database's data. The primary reasons for doing this are to allow for greater access to that data, and to maintain availability of the data in the even that the Master becomes unavailable. + + + + + + Replication + + + The act of reproducing data on one Server into another called a Replica. This can take the form of Physical Replication, where all file changes from one Server are copied verbatim, or Logical Replication where a defined subset of data changes are conveyed. + + + + + + Result Set + + + A data structure tranmitted from a Server to client program upon the completion of a SQL command, usually a SELECT but it can be an INSERT, UPDATE, or DELETE command if the RETURNING clause is specified. The data structure consists of zero or more Rows with the same ordered set of Attributes. + + + + + + Revoke + + + A command to reduce access to a named set of Database objects for a named list of Users and Roles. + + + For more information, see SQL Commands: REVOKE. + + + + + + Role + + + A collection of access privileges to the Database. Roles are themselves a privilege that can be granted to other roles. This is often done for convenience or to ensure completeness when multiple Users need the same privileges. + + + For more information, see SQL Commands: CREATE ROLE. + + + + + + Rollback + + + A command to undo all of the operations performed since the beginning of a Transaction. + + + For more information, see SQL Commands: ROLLBACK. + + + + + + Row + + + A Tuple or Record found within a Relation or a Result Set. This term is often used interchangably with Record and Tuple. + + + + + + Savepoint + + + A special mark (such as a timestamp) inside a Transaction. Data modifications after this point in time may be rolled back to the time of the savepoint. + + + For more information, see SQL Commands: SAVEPOINT. + + + + + + Schema + + + A means of organizing a collection of objects residing in the same Database to facilitate clarity or security. Schemas are most often used in the same way that a namespace is used in programming languages. All objects belong to exactly one Schema, most commonly "public", the default Schema. + + + More generically, the term Schema is used to mean all data descriptions (Table definitions, Constraints, comments) for a given Database. + + + + + + Segment + + + See File Segment. + + + + + + Select + + + The command used to query a Database. Normally, SELECTs are not expected to modify the Database in any way, but it is possible that Functions invoked within the query could have side-effects that do modify data. + + + + + + Serializable + + + Database Sessions in a transaction defined as SERIALIZABLE are unable to see changes made to the Database by other sessions. In effect, the entire Database appears to be frozen in time for the duration of the Transaction. + + + + + + Server + + + The term Server denotes real hardware, a container, or a Virtual Machine. + + + + + + Session + + + A Connection to the Database. + + + A description of the commands that were issued in the life cycle of a particular Connection to the Database. + + + + + + Sequence + + + An Database object which represents the mathematical concept of a generic numerical sequence. It can be thought of as a Table with exactly one Row and one Column. The value stores is know as the current value. A Sequence has a defined direction (almost always increasing) and an interval step (usually 1). Whenever the NEXTVAL pseudo-column of a Sequence is accessed, the curent value is moved in the defined direction by the defined interval step, and that value is returned to the invoking query, and the current value of the sequence is updated to reflect the new value. The value can be updated multiple times in a single query, the net effect being that each row selected will have a different value. Values taken from a Sequence are never reverted even in the case of a Rollback, which means that the Sequence will never emit the same number twice, and thus is the normal way of generating values to be put in a Primary Key. + + + For more information, see SQL Commands: CREATE SEQUENCE. + + + + + + Shared Memory + + + RAM which is used by the processes common to an Instance. It mirrors parts of Database files, provides an area for WAL Records, and stores additional common information. Note that Shared Memory belongs to the complete Instance, not to a single Database. + + + Shared Memory is organized into pages. If a page is modified, it is called a dirty page until it is written back to the file system. + + + For more information, see Server Configuration: Resource Consumption. + + + + + + SQL Object + + + A Table, View, Materialized View, Index, Constraint, Sequence, Function, Procedure, Trigger, data type, or operator. Every SQL Object belongs to exactly one Schema. + + + For more information, see Managing Databases: Overview. + + + + + + Stats Collector + + + This process collects statistical information about the Cluster's activities. + + + For more information, see Monitoring Database Activity: The Statistics Collector. + + + + + + System Catalog + + + A collection of Tables and Views which describe the structure of all SQL objects of the Database and the Global SQL Objects of the Cluster. The System Catalog resides in the schema pg_catalog. Main parts are mirrored as Views in the Schema information_schema. + + + For more information, see Data Definition: Schemas. + + + + + + Table + + + A collection of Tuples (also known as Rows or Records) having a common data structure (the same number of Attributess, in the same order, having the same name and type). A Table is the most common form of Relation in PostgreSQL. + + + For more information, see SQL Commands: CREATE TABLE. + + + + + + Temporary Tables + + + Tables that exist either for the lifetime of a Session or a Transaction, as defined at creation time. The data in them is not visible to other Sessions, and is not Logged. Temporary Tables are most often used to store intermediate data for a multi-step data transformation. + + + For more information, see SQL Commands: CREATE TABLE + + + + + + Transaction + + + A combination of one or more commands that must act as a single Atomic command: they all succeed or fail together, and their effects are not visible to other sessions until the Transaction is complete. + + + + + + Trigger + + + A Function which can be defined to execute whenever a certain operation (INSERT, UPDATE, or DELTE) is applied to that Relation. A Trigger executes within the same Transaction as the statement which invoked it, and if the Function fails then the invoking statement also fails. + + + For more information, see SQL Commands: CREATE TRIGGER + + + + + + Tuple + + + A collection of Attributes in a fixed order. That order may be defined by the Table where the Tuple is found, in which case the Tuple is often called a Row or Record. It may also be defined by the structure of a Result Set. + + + + + + Unique + + + The condition of having no matching values in the same Relation. Most often used in the concept of Unique Indexes. + + + + + + Unlogged + + + A Relation that is unlogged will not have changes reflected in the WAL Log, +which would enable those changes to be duplicated on a Replica, and also enables the change to survive a Database crash. + + + + + + Update + + + A command used to modify Rows that already exist in a specified Table. It +cannot create Rows nor can it remove Rows. + + + For more information, see SQL Commands: UPDATE + + + + + + User + + + A specific case of a Role that is entitled to access (log into) the Database. + + + + + + User Mapping + + + The translation of user credentials in the local Database to credentials in a remote data system defined by a Foreign Data Wrapper. + + + For more information, see SQL Commands: CREATE USER MAPPING + + + + + + View + + + A Relation that is defined by a SELECT 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 that subquery instead of the name of the View. + + + For more information, see SQL Commands: CREATE VIEW + + + + + + WAL File + + + WAL Records are continously written to the end of the current WAL File. WAL Files as well as WAL Records belong to the complete Cluster, not to a single Database. After a WAL File is full, a new WAL File is created or, under certain conditions, one of the previous WAL Files is renamed and reused. + + + The sequence of WAL Records in combination with the sequence of WAL Files represents the sequence of changes that have taken place in the Cluster. + + + For more information, see Reliability and the Write-Ahead Log: WAL Internals. + + + + + + WAL Log + + + See WAL File. + + + + + + WAL Record + + + A WAL Record contains either new or changed Heap or Index data or other binary information about a COMMIT, ROLLBACK, SAVEPOINT, or Checkpointer operation. + + + For more information, see Reliability and the Write-Ahead Log: WAL Internals. + + + + + + WAL Segment + + + See WAL File. + + + + + + WAL Segment File + + + See WAL File. + + + + + + WAL Writer + + + This process writes WAL Records from Shared Memory to WAL Files. + + + For more information, see Server Configuration: Write Ahead Log. + + + + + + Window Function + + + A type of Function similar to an Aggregate in that can derive its value +from a set of Rows in a Result Set, but still retaining the original source +data. + + + For more information, see Window Functions. + + + + + diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index e59cba7997..2183e33bea 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -278,6 +278,7 @@ &docguide; &limits; &acronyms; + &glossary; -- 2.20.1