From 8a163603102f51a3eddfb05c51baf3b840c5d7f7 Mon Sep 17 00:00:00 2001 From: coreyhuinker Date: Mon, 30 Mar 2020 13:08:27 -0400 Subject: [PATCH] glossary v4 --- doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/glossary.sgml | 1551 ++++++++++++++++++++++++++++++++++++ doc/src/sgml/postgres.sgml | 1 + 3 files changed, 1553 insertions(+) create mode 100644 doc/src/sgml/glossary.sgml 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 @@ + diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml new file mode 100644 index 0000000000..eab14f3c9b --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1551 @@ + + Glossary + + This is a list of terms and their meaning in the context of + PostgreSQL and relational database + systems in general. + + + + Aggregating + + + The act of combining a collection of data (input) values into + a single output value, which may not be of the same type as the + input values. + + + + + + Aggregate Function + + + A Function that combines multiple input values, + for example by counting, averaging or adding them all together, + yielding a single output value. + + + For more information, see + . + + + See also Window Function. + + + + + + Analytic + + + A Function whose computed value can reference + values found in nearby Rows of the same + Result Set. + + + For more information, see + . + + + + + + Atomic + + + In reference to the value of an Attribute or + Datum: an item that cannot be broken down + into smaller components. + + + In reference to an operation: an event that cannot be completed in + part; it must either entirely succeed or entirely fail. For + example, a series of SQL statements can be + combined into a Transaction, and that + transaction is said to be atomic. + Atomic. + + + + + + Atomicity + + + One of the ACID properties. This is the state of + being Atomic in the operational/transactional sense. + + + + + + Attribute + + + An element with a certain name and data type found within a + Tuple or Table. + + + + + + Autovacuum + + + Background Worker processes that routinely + perform Vacuum operations. + + + For more information, see + . + + + + + + 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). + + + + + + + + Background Worker + + + Individual processes within an Instance, which + run system- or user-supplied code. A typical use case is a process + which handles parts of an SQL query to take + advantage of parallel execution on servers with multiple + CPUs. + + + For more information, see + . + + + + + + Background Writer + + + A process that continuously writes dirty pages from + Shared Memory to the file system. + It wakes up periodically, but + works only for a short period in order to distribute expensive + I/O activity over time, instead of generating fewer + larger I/O peaks which could block other processes. + + + For more information, see + . + + + + + + Cast + + + A conversion of a Datum from its current data + type to another data type. + + + + + + Catalog + + + The SQL standard uses this term to + indicate what is called a Database in + PostgreSQL's terminology. + + + This should not be confused with the + System Catalog. + + + For more information, see + . + + + + + + 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 + . + + + + + + 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. + + + + + + Checkpoint + + + A point in time when all older dirty pages of the + Shared Memory, all older WAL Records, + and a special Checkpoint record have been written + and flushed to disk. + + + For more information, see + . + + + + + + 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. + + + Don't confuse the PostgreSQL-specific term + Cluster with the SQL command + CLUSTER. + + + + + + Column + + + An Attribute found in a + Table or View. + + + + + + Commit + + + The act of finalizing a Transaction within the + Database. + + + For more information, see + . + + + + + + Concurrency + + + The concept that multiple independent operations happen within the + Database at the same time. + + + + + + Connection + + + An established line of communication between a client process + and a server process. If the two involved processes reside on the + same Server, then the connection can either use + TCP/IP or Unix-domain sockets. Otherwise, + only TCP/IP can be used. + + + For more information, see + . + + + + + + Consistency + + + One of the ACID properties. This means that the database + is always in compliance with its own rules such as Table + structure, Constraints, + Uniqueness, etc. + + + + + + Constraint + + + A restriction on the values of data allowed within a + Table. + + + For more information, see + . + + + + + + 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 with + the exception of Tablespaces. The environment + variable PGDATA often — but not always — + refers to the Data Directory. + + + For more information, see + . + + + + + + Database + + + A named collection of SQL Objects. + + + For more information, see + . + + + + + + Database Server + + + See Instance. + + + + + + Datum + + + The internal representation of a SQL data type. + + + + + + Delete + + + A SQL command which removes + Rows from a given Table + or Relation. + + + For more information, see + . + + + + + + Durability + + + One of the ACID properties. This is the assurance that once a + Transaction has been Committed, the + data will remain even after a system failure or crash. + + + + + + File Segment + + + A physical file which stores data for a given + Heap or Index object. + File Segments are limited in size by a + configuration value and if that size is exceeded, it will be split + into multiple physical files. + + + For more information, see + . + + + (Don't confuse this term with the similar term + WAL Segment). + + + + + + Foreign Data Wrapper + + + A means of representing data that is not contained in the local + Database so that it appears 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 + . + + + + + + Foreign Key + + + A type of Constraint defined on one or more + Columns in a Table which + requires the value(s) in those Columns to + identify exactly one 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 + . + + + + + + 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 + . + + + + + + Function + + + Any defined transformation of data. Many + Functions are already defined within + PostgreSQL itself, but user-defined + ones can also be added. + + + For more information, see + . + + + + + + Global SQL Object + + + SQL Objects which do not belong to a specific + Schema. + + + Objects that exist at the Database level + include Extensions such as + Foreign Data Wrappers. + + + Objects that exist at the Cluster level + include Roles, + Tablespaces, + Replication origins, and subscriptions + for logical replication. + + + + + + Grant + + + A SQL command that is used to allow + Users or Roles to access + specific objects within the Database. + + + For more information, see + . + + + + + + Heap + + + Contains the values of Row attributes + (i.e. the data). The Heap is realized within + Database files. + + + + + + Host + + + See Server. + + + + + + Index + + + A Relation that contains data derived from a + Table (or Relation types + such as a Materialized View). Its internal + structure supports fast retrieval of and access to the original + data. + + + For more information, see + . + + + + + + Insert + + + A SQL command used to add new data into a + Table. + + + For more information, see + . + + + + + + 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 programs, backup, + recovery, replication, privileges, etc. + + + An Instance manages exactly one + Cluster. + + + Many Instances can run on the same server as + long as their TCP/IP ports do not conflict. + Different instances on a server may use the + same or different versions of PostgreSQL. + + + + + + Isolation + + + One of the ACID properties. This means that concurrently running + Transactions affect the database exactly as if they had been + executed sequentially. + + + + + + Join + + + A SQL keyword used in SELECT statements for + combining data from multiple 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 that allows a process to limit or prevent simultaneous + access to a resource. + + + + + + Log File + + + Log Files contain human-readable text lines about + events. Examples include login failures, long-running queries, etc. + + + For more information, see + . + + + + + + Log Writer + + + If activated and parameterized, the + Log Writer process + writes information about database events into the current + Log File. When reaching certain time- or + volume-dependent criteria, a new log file is created. + + + For more information, see + . + + + + + + Log Record + + + Archaic term for a WAL Record. + + + + + + Logged + + + A Table is considered + Logged if changes to it are sent to the + WAL Log. By default, all regular + Tables are Logged. A + table can be specified as Unlogged either at + creation time or via the ALTER TABLE command. + + + + + + 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 method of accessing + the information. This term is used in Materialized + Views, meaning that the data derived from the + View is actually stored on disk separately from + the sources of that data. When using the term + Materialized 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. + + + + + + Materialized View + + + A Relation that is defined in the same way that + a View is, but stores data in the same way + that a Table does. It cannot be modified via + INSERT, UPDATE, or + DELETE operations. + + + For more information, see + . + + + + + + 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 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. + + + When referring to an Analytic + Function: a partition is a definition + that identifies which neighboring + Rows can be considered by the + function. + + + + + + Postmaster + + + The very first process of an Instance. It + starts the other processes and creates + Backend Processes on demand. + + + For more information, see + . + + + + + + Primary Key + + + A special case of a 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. A 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 + . + + + + + + Record + + + See Tuple. + + + A single Row of a Table + or other Relation. + + + + + + Referential Integrity + + + A means of restricting data in one Relation + so 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 event that the + Master becomes unavailable. + + + + + + Replication + + + The act of reproducing data on one Server onto + another server 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 transmitted 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 prevent access to a named set of + Database objects for a named list of + Users and Roles. + + + For more information, see + . + + + + + + 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 + . + + + + + + Rollback + + + A command to undo all of the operations performed since the beginning + of a Transaction. + + + For more information, see + . + + + + + + Row + + + See Tuple. + + + + + + Savepoint + + + A special mark inside the sequence of steps in a + Transaction. Data modifications after this + point in time may be reverted to the time of the savepoint. + + + For more information, see + . + + + + + + Schema + + + A Schema is a namespace for + SQL objects, which all reside in the same + database. Each SQL + object must reside in exactly one + Schema. + + + In general, the names of SQL Objects in the + schema are unique — even across different types of objects. The lone + exception is the case of Unique + Constraints, in which case there + must be a Unique Index + with the same name and Schema as the + Constraint. There is no restriction on reusing + a name in multiple Schemas. + + + Many SQL Objects reside in the default + Schema public, but it is + expected that more schemas are created to hold application-specific + SQL Objects. + + + More generically, the term Schema is used to + mean all data descriptions (Table definitions, + Constraints, comments) for a given + Database. + + + For more information, see + . + + + + + + 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. + + + For more information, see + . + + + + + + Serializable + + + Transactions defined as SERIALIZABLE are unable to + see changes made within other transactions. In effect, for the + initializing session the entire Database + appears to be frozen 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. + + + + + + Sequence + + + A Database object which represents the + mathematical concept of a numerical integral sequence. It can be + thought of as a Table with exactly one + Row and one Column. The + value stored is known as the current value. A + Sequence has a defined direction (usually + increasing) and an interval step (usually 1). Whenever the + NEXTVAL pseudo-column of a + Sequence 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 + Sequence are never reverted, even in the case of + a Rollback, which means that the + Sequence will never generate the same number twice, + which makes it useful for generating + Primary Key values. + + + For more information, see + . + + + + + + 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 + . + + + + + + 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 + . + + + + + + Stats Collector + + + This process collects statistical information about the + Cluster's activities. + + + For more information, see + . + + + + + + 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 + . + + + + + + Table + + + A collection of Tuples (also known as + Rows or Records) having + a common data structure (the same number of + Attributes, in the same order, having the same + name and type per position). A Table is the + most common form of Relation in + PostgreSQL. + + + For more information, see + . + + + + + + Tablespace + + + A named location on the server filesystem. All SQL Objects + which require storage beyond their definition in the + System Catalog + must belong to a single tablespace. + + + For more information, see + . + + + + + + Temporary Table + + + Tables that exist either for the lifetime of a + Session or a + Transaction, as specified at the time of creation. The + data in them is not visible to other sessions, + and is not Logged. + Temporary Tables are often used to store + intermediate data for a multi-step operation. + + + For more information, see + . + + + + + + Transaction + + + A combination of commands that must act as a single + Atomic command: they all succeed or all fail + as a single unit, and their effects are not visible to other + Sessions until + the Transaction is complete. + + + For more information, see + . + + + + + + Trigger + + + A Function which can be defined to execute + whenever a certain operation (INSERT, + UPDATE, DELETE, + TRUNCATE) is applied to a 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 + . + + + + + + 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 duplicate values in the same + Relation. Often used in the concept of + Unique Indexes. + + + + + + Unlogged + + + Changes to an unlogged Relation are not + reflected in the WAL Log. This disables + replication and crash recovery for these relations. + + + The primary use of unlogged tables is for storing + transient work data that must be shared across processes. + + + Temporary Tables are always unlogged. + + + + + + Update + + + A command used to modify Rows that may already + exist in a specified Table. It cannot create + or remove rows. + + + For more information, see + . + + + + + + User + + + A Role that has the LOGIN + privilege is said to be a User. + + + + + + User Mapping + + + The translation of login credentials in the local + Database to credentials in a remote data system + defined by a Foreign Data Wrapper. + + + For more information, see + . + + + + + + Vacuum + + + The process of removing outdated MVCC + Tuples from a Heap or + Index. This can be initiated through the use of + the VACUUM command, but can also be handled automatically + via Autovacuum processes. + + + For more information, see + . + + + + + + 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 + . + + + + + + WAL Archiver + + + A process that saves copies of WAL Files, + for the purposes of creating backups or keeping + Replicas current. + + + For more information, see + . + + + + + + 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 + represents the sequence of changes that have taken place in the + Cluster. + + + For more information, see + . + + + + + + WAL Log + + + See WAL File. + + + + + + WAL Record + + + A WAL Record contains either new or changed + Heap or Index data or + information about a COMMIT, + ROLLBACK, SAVEPOINT, or + Checkpointer operation. WAL records use a + non-printable binary format. + + + For more information, see + . + + + + + + 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 + . + + + + + + Window Function + + + A type of Function similar to an + Aggregate in that it can derive its value from a + set of Rows in a Result + Set, while retaining the original source data. + + + For more information, see + . + + + + + 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; -- 2.20.1