diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml index 851e9debe6..52169b86a2 100644 --- a/doc/src/sgml/glossary.sgml +++ b/doc/src/sgml/glossary.sgml @@ -1,7 +1,7 @@ Glossary - This is a list of terms and their in the context of PostgreSQL and Databases in general. + This is a list of terms and their meaning in the context of PostgreSQL and Databases in general. @@ -44,7 +44,7 @@ Atomic - In reference to the value of an Attribute or Datum: cannot be broken up into smaller components. + 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. @@ -56,7 +56,7 @@ Attribute - A typed data element found within a Tuple or Relation or Table. + An element with a certain name and data type found within a Tuple or Table. @@ -164,12 +164,30 @@ any Attribute in the Relation, but + + 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. + @@ -198,7 +216,7 @@ any Attribute in the Relation, but Concurrency - The concept that multiple independent operations can be happening within the Database at the same time. + The concept that multiple independent operations happen within the Database at the same time. @@ -216,7 +234,7 @@ any Attribute in the Relation, but Constraint - A method of restricting the values of data allowed within a Table. + A concept of restricting the values of data allowed within a Table. For more information, see Constraints. @@ -238,7 +256,7 @@ any Attribute in the Relation, but 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. + 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. @@ -250,7 +268,7 @@ files and subdirectories associated with a Cluster. The n Database - A named collection of SQL Objects. + A named collection of SQL Objects. For more information, see Managing Databases: Overview. @@ -292,14 +310,13 @@ files and subdirectories associated with a Cluster. The n 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. + 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. - (Don't confuse this term with the similar term WAL Segment). + For more information, see Database Physical Storage: Database File Layout. - For more information, see Database Physical Storage: Database File Layout. + (Don't confuse this term with the similar term WAL Segment). @@ -353,7 +370,7 @@ split into multiple physical files. These files are called File Segme Function - Any pre-defined tranformation of data. Many Functions are already defined within PostgreSQL itself, but can also be user-defined. + 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. @@ -365,7 +382,7 @@ split into multiple physical files. These files are called File Segme 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. + 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. @@ -391,7 +408,7 @@ split into multiple physical files. These files are called File Segme - + Host @@ -404,7 +421,7 @@ split into multiple physical files. These files are called File Segme 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. + 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. @@ -466,7 +483,33 @@ split into multiple physical files. These files are called File Segme - + + 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 @@ -528,10 +571,10 @@ data in the same way that a Table does. it cannot be modi 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) 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. - A defined boundary used in an Analytic Function to identify which neighboring Rows can be considered by the Function for this particular Row. + b) A defined boundary used in an Analytic Function to identify which neighboring Rows can be considered by the Function for this particular Row. @@ -573,7 +616,7 @@ data in the same way that a Table does. it cannot be modi Record - A data structure that consists of one or more Attributes in a defined order. + See Tupple. A single Row of a Table or other Relation. @@ -603,7 +646,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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. @@ -621,7 +664,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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. @@ -666,7 +709,7 @@ data in the same way that a Table does. it cannot be modi Row - A Tuple or Record found within a Relation or a Result Set. This term is often used interchangably with Record and Tuple. + See Tupple. @@ -687,7 +730,22 @@ data in the same way that a Table does. it cannot be modi 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. + A schema is a + namespace for SQL objects, which + all reside in the same database. + Each SQL object must reside in + exactly one Schema. + + + The names of SQL objects in the + schema are unique - even across different types of objects. + Same object names can only be used in different 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. @@ -717,7 +775,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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. (??? Isn't it the other way round: changes done by serializable transactions are not seen by other transactions ???) @@ -747,7 +805,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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 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. @@ -810,7 +868,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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. @@ -834,7 +892,7 @@ data in the same way that a Table does. it cannot be modi 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. + 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. (??? non repeatable read, phantom read, serialization ananomaly are possible ???) @@ -873,8 +931,8 @@ data in the same way that a Table does. it cannot be modi 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. + Changes to an unlogged Relation are not reflected in the WAL Log. + This disables replication and crash recovery for such Relations. @@ -953,7 +1011,7 @@ cannot create Rows nor can it remove RowsWAL 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. + 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.