Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jK82d-0002U6-Pp for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2020 22:10:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jK82c-0007jh-8u for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2020 22:10:26 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jK82b-0007jY-Bq for pgsql-hackers@lists.postgresql.org; Thu, 02 Apr 2020 22:10:25 +0000 Received: from mail-qt1-x842.google.com ([2607:f8b0:4864:20::842]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jK82V-00049P-UB for pgsql-hackers@postgresql.org; Thu, 02 Apr 2020 22:10:23 +0000 Received: by mail-qt1-x842.google.com with SMTP id e14so4908552qts.2 for ; Thu, 02 Apr 2020 15:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=g3CH/YGlXknR5iH3t/fRIhqysU2YtL6efzNeF1E7tvA=; b=nBr1mulw9ENoHxwSCtcxU3wo538/JI0t08T9DldfZY4RpT6htmxAlPH5xBl78bRynf K/qIydnz+fRDtciLHQOEJC8MR6d4obMs7loE4Di63dlg5a/Y6ZeLBifioeQ6yR4yd2+G kCkV7cye2OzRM3pHLoXvrixznM5Na2BBwveNGcOLvuCKBUqwctWXIyTfuMw6tdXzse6f dO7/TOOP8jxKKz/F45IVpgT/PGCI3fftVpHwL94CqPmZa2OykGjfHSRW0k3C0GjyMX2/ txUbV9d10i4T/78qShprRLrGUm6Q5GTwE9Fp/NyYDZc8ENzikAIVOguxzzfiiVAlsEtt sCTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=g3CH/YGlXknR5iH3t/fRIhqysU2YtL6efzNeF1E7tvA=; b=jVbg23xIvHkik1RsqQ/pjX3TUwxXjqgZ119bg8JJ1ieCVh7XDft4rqQGo2nydNfw4B ccGdIqSIvbSTzl7Sfn3TelbsK2/8RNN8xXFfnceYXn2ocv5+a2h7HSzf5voI3og1dhMo sei0cQg+XwzQsVfbDYqH1lyFd0kYUyt4zg8NKTPyt9AvFBGVEoEdBYP6MIx+Dqav8Bgd /g6E3cRaJcHLJUsZbwndvJIgCQEBpqMoo0Ldu5YbUgLBVZk0WBkv/9x3uGwNoKKcqGLx BFJIYKviVYgnNOfj922Kq5v6OYvMdJHcCZkcqmTwipB8BSY3E7HhkXgSEVpIEVfqBfVP f38w== X-Gm-Message-State: AGi0PuavTHkw9LyRkGRq3asJOkn6NXfxJdZEniCihq2ATD1fCnEoFJai M/752pFPf3WeKgN/AYt+si4w7A== X-Google-Smtp-Source: APiQypJ8dPatINM9E9gzrY/6K2goHaCWb7iJliP1/Glt016jRCDFXhAT/8mVx4k1bcXIfwYjJA4mNA== X-Received: by 2002:aed:3fcc:: with SMTP id w12mr5344384qth.388.1585865418943; Thu, 02 Apr 2020 15:10:18 -0700 (PDT) Received: from nimloth.alvh.no-ip.org ([190.95.18.252]) by smtp.gmail.com with ESMTPSA id 145sm4547481qke.126.2020.04.02.15.09.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2020 15:09:55 -0700 (PDT) Received: by nimloth.alvh.no-ip.org (Postfix, from userid 1000) id 95EDC300B0B; Thu, 2 Apr 2020 19:09:32 -0300 (-03) Date: Thu, 2 Apr 2020 19:09:32 -0300 From: Alvaro Herrera To: Corey Huinker Cc: =?iso-8859-1?Q?J=FCrgen?= Purtz , Justin Pryzby , Roger Harkavy , pgsql-hackers@postgresql.org, Fabien COELHO , Michael Paquier Subject: Re: Add A Glossary Message-ID: <20200402220932.GA11378@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="3MwIy2ne0vdjdPXF" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --3MwIy2ne0vdjdPXF Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit On 2020-Apr-02, Corey Huinker wrote: > On Thu, Apr 2, 2020 at 8:44 AM Jürgen Purtz wrote: > > > +1 and many thanks to Alvaros edits. > > > > > I did some of the grunt work Alvaro alluded to in v6, and the results are > attached and they build, which means there are no invalid links. Thank you! I had been working on some other changes myself, and merged most of your changes. I give you v8. > * renamed id glossary-temporary-tables to glossary-temporary-table Good. > * temporarily re-added an id for glossary-row as we have many references to > that. unsure if we should use the term Tuple in all those places or say Row > while linking to glossary-tuple, or something else I changed these to link to glossary-tuple; that entry already explains these two other terms, so this seems acceptable. > * temporarily re-added an id for glossary-segment, glossary-wal-segment, > glossary-analytic-function, as those were also referenced and will need > similar decisions made Ditto. > * added a stub entry for glossary-unique-index, unsure if it should have a > definition on it's own, or we split it into unique and index. I changed Unique Index into Unique Constraint, which is supposed to be the overarching concept. Used that in the definition of primary key. > * I noticed several cases where a glossterm is used twice in a definition, > but didn't de-term them Did that for most I found, but I expect that some remain. > * I'm curious about how we should tag a term when using it in its own > definition. same as anywhere else? I think we should not tag those. I fixed the definition of global object as mentioned previously. Also added "client", made "connection" have less importance compared to "session", and removed "window frame" (made "window function" refer to "partition" instead). If you (or anybody) have suggestions for the definition of "client" and "session", I'm all ears. I'm quite liking the result of this now. Thanks for all your efforts. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --3MwIy2ne0vdjdPXF Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-glossary-v8.patch" 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..7d981a9223 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1692 @@ + + Glossary + + This is a list of terms and their meaning in the context of + PostgreSQL and relational database + systems in general. + + + + + Aggregate Function + + + A function that + combines (aggregates) multiple input values, + for example by counting, averaging or adding, + yielding a single output value. + + + For more information, see + . + + + + + + + Analyze (operation) + + + The process of collecting statistics from data in + tables + and other relations + to help the query planner + to make decisions about how to execute + queries. + + + + + + Analytic Function + + + + + Atomic + + + In reference to a datum: + the fact that its value that cannot be broken down into smaller + components. + + + + + In reference to a + database transaction: + see atomicity. + + + + + + Atomicity + + + The property of a transaction + 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 ACID properties. + + + + + + Attribute + + + An element with a certain name and data type found within a + tuple or + table. + + + + + + Autovacuum (process) + + + A set of background processes that routinely perform + vacuum + and analyze + operations. + + + For more information, see + . + + + + + + Backend (process) + + + Processes of an instance + which act on behalf of client sessions + and handle their requests. + + + (Don't confuse this term with the similar terms + Background Worker or + Background Writer). + + + + + + Background Worker (process) + + + Individual processes within an instance, + which run system- or user-supplied code. + They provide infrastructure for several features in + PostgreSQL, such as + logical replication + and parallel queries. + Extensions can add + custom background worker processes, as well. + + + For more information, see + . + + + + + + Background Writer (process) + + + 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 its 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 of the same row in + the relation, but cannot reference other rows of the same relation or + other relations. + + + For more information, see + . + + + + + + Checkpointer (process) + + + 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. + + + + + + Checkpoint + + + A point in the WAL sequence + at which it is guaranteed that the heap and index data files have been + updated with all information from + Shared Memory + modified before that checkpoint; + a checkpoint record is written and flushed to WAL + to mark that point. + + + For more information, see + . + + + + + + Class (archaic) + + + + + Client (process) + + + Any process, possibly remote, that establishes a + session + by connecting to an + instance + to interact with a database. + + + + + + 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 database 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, which + makes it visible to other transactions and assures its + durability. + + + 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 + backend process, + usually over a network, supporting a + session. This term is + sometimes used as a synonym for session. + + + For more information, see + . + + + + + + Consistency + + + The property that the data in the + database + is always in compliance with + integrity constraints. + 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 + rolled back. + This is one of the ACID properties. + + + + + + Constraint + + + A restriction on the values of data allowed within a + Table. + + + For more information, see + . + + + + + + Data Area + + + + + 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 is commonly used to + refer to the + data directory. + + + An instance's storage + space comprises the data directory plus any additional tablespaces. + + + For more information, see + . + + + + + + Database + + + A named collection of + SQL Objects. + + + For more information, see + . + + + + + + Database Server + + + + + Datum + + + The internal representation of one value of a SQL + data type. + + + + + + Delete + + + A SQL command which removes + Rows from a given + Table + or Relation. + + + For more information, see + . + + + + + + Durability + + + The assurance that once a + transaction has + been Committed, the + changes remain even after a system failure or crash. + This is one of the ACID properties. + + + + + + Extension + + + A software add-on package that can be installed on an + instance to + get extra features. + + + For more information, see + . + + + + + + 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 zero or one Row + in another (or, infrequently, the same) + 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 + database. + + + These objects are + 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 + + + + + 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, + its supporting storage space, + 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 + + + The property that the effects of a transaction are not visible to + concurrent transactions + before it commits. + This is one of the ACID properties. + + + For more information, see . + + + + + + 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 + . + + + + + + Logger (process) + + + If activated, the + Logger 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. + Also called syslogger. + + + 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. 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 (server) + + + + + 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 + . + + + + + + Multi-version concurrency control (MVCC) + + + A mechanism designed to allow several + transactions to be + reading and writing the same rows without one process causing other + processes to stall. + In PostgreSQL, MVCC is implemented by + creating copies (versions) of + tuples as they are + modified; after transactions that can see the old versions terminate, + those old versions need to be removed. + + + + + + Null + + + A concept of non-existence that is a central tenet of Relational + Database Theory. It represents the absence of value. + + + + + + Optimizer + + + + + Parallel Query + + + The ability to handle parts of executing a + query to take advantage + of parallel processes on servers with multiple CPUs. + + + + + + Partition + + + In reference to a Table: + 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. + + + + + In reference to a window function: + a partition is a definition that identifies which neighboring + Rows can be considered by the + function. + + + + + + Postmaster (process) + + + The very first process of an Instance. It + starts and manages the other auxiliary processes and creates + backend processes + on demand. + + + For more information, see + . + + + + + + Primary (server) + + + When two or more Databases are linked via + Replication, the Server + that is considered the authoritative source of information is called + the Primary, + also known as a master. + + + + + + Primary Key + + + A special case of a + unique constraint + 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 + constraints 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 + . + + + + + + Query + + + A request sent by a client to a backend, + usually to return results or to modify data on the database. + + + + + + Query Planner + + + The part of PostgreSQL that is devoted to + determining (planning) the most efficient way to + execute queries. + Also known as query optimizer, + optimizer, or simply planner. + + + + + + Record + + + + + Recycling + + + + + Referential Integrity + + + A means of restricting data in one Relation + by a Foreign Key + 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. + + + Class is an archaic synonym for + relation. + + + + + + Replica + + + A Database that is paired with a + primary + database and is maintaining a copy of some or + all of the primary Database'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 + primary 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 using a higher-level representation. + + + + + + Result Set + + + A data structure transmitted from a Backend Process 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 + + + + + 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. + + + The names of SQL Objects + of the same type in the same schema are enforced unique. 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, etc) + for a given Database or + subset thereof. + + + For more information, see + . + + + + + + Segment + + + + + Select + + + The SQL 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 + + + A computer on which PostgreSQL + instances run. + The term server denotes real hardware, a + container, or a Virtual Machine. + + + + + + Session + + + A state that allows a client and a backend to interact, + communicating over a connection. + + + + + + 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 one of those SQL objects + belong to exactly one Schema. + + + There also exist SQL objects that do not belong to schemas; those include + extensions, + data type cases, + and + foreign data wrappers. + + + 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 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 Constraint + + + A type of constraint + defined on a relation + 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. + + + Because null values are + not considered equal to each other, multiple rows with null values are + allowed to exist without violating the unique constraint. + + + + + + Unlogged + + + Changes to an unlogged Relation + are not reflected in the WAL. + 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 SQL 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 tuple + versions from tables, and other closely related + garbage-collection-like processing required by PostgreSQL's + implementation of MVCC. + 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 (process) + + + A process that saves copies of WAL Files + for the purposes of creating backups or keeping + Replicas current. + + + For more information, see + . + + + + + + WAL File + + + Also known as WAL segment or + WAL segment file. + Each of the numerically-numbered files that provide storage space for + WAL. + 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. + + + Each WAL file can be released after a + checkpoint + 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 + recycling. + + + For more information, see + . + + + + + + WAL + + + + + WAL Record + + + A low-level description of an individual data change. + It contains sufficient information for the data change to be + re-executed (replayed) in case a system failure + causes the change to be lost. + WAL records use a non-printable binary format. + + + For more information, see + . + + + + + + WAL Segment + + + + + WAL Writer (process) + + + A process that writes WAL records + from shared memory to + WAL files. + + + For more information, see + . + + + + + + Window Function + + + A type of function whose + result is based on values found in + rows of the same + partition. + All aggregate functions + 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 analytic functions. + + + For more information, see + . + + + + + + Write-Ahead Log + + + The journal that keeps track of the changes in the + Instance as user- and system-invoked + operations take place. It comprises many individual + WAL records written + sequentially to WAL files. + + + + + 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; --3MwIy2ne0vdjdPXF--