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 1jJnQO-0000M2-Gd for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2020 00:09:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jJnQN-0001LS-An for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Apr 2020 00:09:35 +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 1jJnQM-0001LL-H5 for pgsql-hackers@lists.postgresql.org; Thu, 02 Apr 2020 00:09:35 +0000 Received: from mail-qk1-x743.google.com ([2607:f8b0:4864:20::743]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jJnQI-0001i0-6p for pgsql-hackers@postgresql.org; Thu, 02 Apr 2020 00:09:33 +0000 Received: by mail-qk1-x743.google.com with SMTP id q188so2170148qke.8 for ; Wed, 01 Apr 2020 17:09:29 -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=PfvpBWDZm6WQImBSWSfQPGVF37QYXZF7In38WdbFH7g=; b=THx9dkplV1ZmE7tFhf0PHek8mP6tRZP72QQo1qUuNHBk+4udLsbr1thQ07Txlpg9Kf ghRpfoM6EYKM74zvKT4DvqQavxxwuPKXhenWI1c49Jl8s4A+af6egi8zm5xQy1GJQ8aj UoiGQgQJO615jMRmau225Jl0KpQAoCTJNyRl9SlIZh1qk7hgGIwQI+glebK/s3y/47Qn GNN3E7tzQLjiGXVE2Yo+D7PLUZakZDHktFelPpho+DpjiV7LsAa4Fa/v8ffBN5Mv9CCO 1apEe2FJ1+k1iHpzXHg9zzoLkSwwm5wq2jl92XtfHLlb9+3sy7fuXtZ9zrOwZik25WX+ /xug== 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=PfvpBWDZm6WQImBSWSfQPGVF37QYXZF7In38WdbFH7g=; b=B51SjPtT2Ff8orw+Wniku1P6YUwmjOi/iO1NthMiqgYw9Ayr4GueJFZDVbVG+JtbV8 eXjtp++cCN81W1eCCSoE6HtaCf1xAXO2dRor8H6u4phEztHKRDx4Bh7Hn7SYRJdZUnb2 01NMsiLdH87C7b70m1nayK7rIMuW1LS/nsaK/RLF2okLDppNI87K/2j405MEcAduHJqB CJxca+Jx87LG+bfrjO3cMPLflbKA8Xvk2eCE6NXWVOYahlFrYDZepJ3d7+fW6x0DgcRk +grwehb9WFmIkmJggnUeTA102dpabitx9iqyyFhT9gg/bIzgbhHw+TZMPYXOkTIlsOuQ 34gg== X-Gm-Message-State: AGi0Pua32W3WMGNiAnQlsScq5jlKNLm2fzAqSOWCPmoKCzQvXtBEa9s+ eHtr91FpmuRnHkP5VM84SRmLOQ== X-Google-Smtp-Source: APiQypISgkTxMy3Vk/T1TNMj/qAU911LOEeo5Pe4qHEp0ejIbrNAAajXvH02bQZhu/9AGnHR82HOzA== X-Received: by 2002:a05:620a:2222:: with SMTP id n2mr986805qkh.5.1585786168941; Wed, 01 Apr 2020 17:09:28 -0700 (PDT) Received: from nimloth.alvh.no-ip.org ([190.95.18.252]) by smtp.gmail.com with ESMTPSA id q5sm2512611qkq.17.2020.04.01.17.09.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Apr 2020 17:09:28 -0700 (PDT) Received: by nimloth.alvh.no-ip.org (Postfix, from userid 1000) id A2B40300A9D; Wed, 1 Apr 2020 21:09:25 -0300 (-03) Date: Wed, 1 Apr 2020 21:09:25 -0300 From: Alvaro Herrera To: =?iso-8859-1?Q?J=FCrgen?= Purtz Cc: Corey Huinker , Justin Pryzby , Roger Harkavy , pgsql-hackers@postgresql.org, Fabien COELHO , Michael Paquier Subject: Re: Add A Glossary Message-ID: <20200402000925.GA7329@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="mYCpIKhGyMATD0i+" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <11c93b2a-2445-148b-30a9-35fb9eee82d7@purtz.de> User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit On 2020-Apr-01, Jürgen Purtz wrote: > > On 31.03.20 19:58, Justin Pryzby wrote: > > On Tue, Mar 31, 2020 at 04:13:00PM +0200, Jürgen Purtz wrote: > > > Please find some minor suggestions in the attachment. They are based on > > > Corey's last patch 0001-glossary-v4.patch. > > > @@ -220,7 +220,7 @@ > > > 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. > > > + a certain volume of records has been collected. > > I think you're correct in that "volume" is singular. But I think "collected" > > is the wrong world. I suggested "written". > > > "collected" is not optimal. I suggest "created". Please avoid "written", the > WAL records will be written when the Checkpointer is running, not before. Actually, you're mistaken; the checkpointer hardly writes any WAL records. In fact, it only writes *one* wal record, which is the checkpoint record itself. All the other wal records are written either by the backends that produce it, or by the wal writer process. By the time the checkpoint runs, the wal records are long expected to be written. Anyway I changed a lot of terms again, as well as changing the way the terms are marked up -- for two reasons: 1. I didn't like the way the WAL-related entries were structured. I created a new entry called "Write-Ahead Log", which explains what WAL is; this replaces the term "WAL Log", which is redundant (since the L in WAL stands for "log" already). I kept the id as glossary-wal, though, because it's shorter and *shrug*. The definition uses the terms "wal record" and "wal file", which I also rewrote. 2. I found out that "see xyz" and "see also" have bespoke markup in Docbook -- and . I changed some glossentries to use those, removing some glossdefs and changing a couple of paras to glossseealsos. I also removed all "id" properties from glossentries that are just , because I think it's a mistake to have references to entries that will make the reader look up a different term; for me as a reader that's annoying, and I don't like to annoy people. While at it, I again came across "analytic", which is a term we don't use much, so I made it a glosssee for "window function"; and while at it I realized we didn't clearly explain what a window was. So I added "window frame" for that. I considered adding the term "partition" which is used in this context, but decided it wasn't necessary. I also added "(process)" to terms that define processes. So now we have "checkpointer (process)" and so on. I rewrote the definition for "atomic" once again. Made it two glossdefs, because I can. If you don't like this, I can undo. I added "recycling". I still have to go through some other defs. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --mYCpIKhGyMATD0i+ Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-glossary-v5.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..3c417f2fd3 --- /dev/null +++ b/doc/src/sgml/glossary.sgml @@ -0,0 +1,1526 @@ + + 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 + . + + + + + + + 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: + the fact that all the operations in the transaction either complete as + a whole, or none of them become visible. + + + + + + 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 processes that routinely perform + Vacuum and Analyze + 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 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 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 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 Backend 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 + + + + + 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 + + + + + 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 + + + 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 another (or 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 + 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 + + + + + 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 + . + + + + + + 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 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 + + + 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 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 + + + + + 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. + + + + + + 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 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. + + + 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 + + + + + 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 + + + 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 + Column of a 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 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 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 (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 + + + 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 frame + + + In a result set, a subset of neighboring rows that match some user + specified criteria form a window frame. + For example, in a query that returns employees across several departments, + the employees from each specific department can form one window frame. + + + + + + Window Function + + + A type of function whose + result is based on values found in + rows of the same + window frame. + 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 window frame. + 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; --mYCpIKhGyMATD0i+--