From: Alvaro Herrera Date: Thu, 19 Mar 2020 18:29:12 -0300 Subject: [PATCH 1/2] glossary --- doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/glossary.sgml | 1441 ++++++++++++++++++++++++++++++++++++ doc/src/sgml/postgres.sgml | 1 + 3 files changed, 1443 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..cf20fb759c --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1441 @@ + + Glossary + + This is a list of terms and their meaning in the context of + PostgreSQL and relational database + systems 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 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. A series of + SQL statements can be combined into a + Transaction, and that + transaction is said to be + Atomic. + + + + + + Attribute + + + An element with a certain name and data type found within a + Tuple 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. + + + + + + Checkpoint + + + A Checkpoint is 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. + + + + + + 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 + SQL Commands: COMMIT. + + + + + + Concurrency + + + The concept that multiple independent operations happen 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 concept 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 with + the exception of tablespaces. The environment variable + PGDATA often — but not always — referes to the + Data Directory. + + + 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 heap or index file grows in size over 1 GB, it will be split + into multiple physical files. These files are called File + Segments. + + + For more information, see + Database Physical Storage: Database File Layout. + + + (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 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 transformation 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 SQL Objects belong to a certain + Schema. Some belong to the complete + 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). It's internal + structure supports very fast retrieval of and access to the original + data. + + + 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 File + + + LOG files contain readable + text lines about serious and non-serious events, e.g.: use of wrong + password, long-running queries, ... . + + + + + + 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 criterias, he creates a new + Log file. + + + + + + Log Record + + + See 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 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) A Table that can be queried independently by + its own name, but can also be queried via another + Table, a partitionend + 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. + + + b) 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 + + + See Tupple. + + + 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 event 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 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 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 + + + See Tupple. + + + + + + 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 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 having + a name used 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. + + + + + 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 + + + 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 duration such a + 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 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 (almost always + 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, 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 per position). 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. + + + For more information, see + Transaction Isolation + + + + + + 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 + + + Changes to an unlogged Relation are not + reflected in the WAL Log. This disables + replication and crash recovery for such Relations. + + + + + + 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 + information about a COMMIT, + ROLLBACK, SAVEPOINT, or + Checkpointer operation. WAL records use a + non-printabe binary format. + + + 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 --mYCpIKhGyMATD0i+ Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0002-Change-all-For-more-info-see-X-links-to-xref-style.patch"