]> begriffs open source - ai-pg/blob - full-docs/txt/glossary.txt
Convert HTML docs to more streamlined TXT
[ai-pg] / full-docs / txt / glossary.txt
1
2 Appendix M. Glossary
3
4    This is a list of terms and their meaning in the context of PostgreSQL
5    and relational database systems in general.
6
7    ACID
8           Atomicity, Consistency, Isolation, and Durability. This set of
9           properties of database transactions is intended to guarantee
10           validity in concurrent operation and even in event of errors,
11           power failures, etc.
12
13    Aggregate function (routine)
14           A function that combines (aggregates) multiple input values, for
15           example by counting, averaging or adding, yielding a single
16           output value.
17
18           For more information, see Section 9.21.
19
20           See Also Window function (routine).
21
22    Access Method
23           Interfaces which PostgreSQL use in order to access data in
24           tables and indexes. This abstraction allows for adding support
25           for new types of data storage.
26
27           For more information, see Chapter 62 and Chapter 63.
28
29    Analytic function
30           See Window function (routine).
31
32    Analyze (operation)
33           The act of collecting statistics from data in tables and other
34           relations to help the query planner to make decisions about how
35           to execute queries.
36
37           (Don't confuse this term with the ANALYZE option to the EXPLAIN
38           command.)
39
40           For more information, see ANALYZE.
41
42    Asynchronous I/O (AIO)
43           Asynchronous I/O (AIO) describes performing I/O in a
44           non-blocking way (asynchronously), in contrast to synchronous
45           I/O, which blocks for the entire duration of the I/O.
46
47           With AIO, starting an I/O operation is separated from waiting
48           for the result of the operation, allowing multiple I/O
49           operations to be initiated concurrently, as well as performing
50           CPU heavy operations concurrently with I/O. The price for that
51           increased concurrency is increased complexity.
52
53           See Also Input/Output.
54
55    Atomic
56           In reference to a datum: the fact that its value cannot be
57           broken down into smaller components.
58
59           In reference to a database transaction: see atomicity.
60
61    Atomicity
62           The property of a transaction that either all its operations
63           complete as a single unit or none do. In addition, if a system
64           failure occurs during the execution of a transaction, no partial
65           results are visible after recovery. This is one of the ACID
66           properties.
67
68    Attribute
69           An element with a certain name and data type found within a
70           tuple.
71
72    Autovacuum (process)
73           A set of background processes that routinely perform vacuum and
74           analyze operations. The auxiliary process that coordinates the
75           work and is always present (unless autovacuum is disabled) is
76           known as the autovacuum launcher, and the processes that carry
77           out the tasks are known as the autovacuum workers.
78
79           For more information, see Section 24.1.6.
80
81    Auxiliary process
82           A process within an instance that is in charge of some specific
83           background task for the instance. The auxiliary processes
84           consist of the autovacuum launcher (but not the autovacuum
85           workers), the background writer, the checkpointer, the logger,
86           the startup process, the WAL archiver, the WAL receiver (but not
87           the WAL senders), the WAL summarizer, and the WAL writer.
88
89    Backend (process)
90           Process of an instance which acts on behalf of a client session
91           and handles its requests.
92
93           (Don't confuse this term with the similar terms Background
94           Worker or Background Writer).
95
96    Background worker (process)
97           Process within an instance, which runs system- or user-supplied
98           code. Serves as infrastructure for several features in
99           PostgreSQL, such as logical replication and parallel queries. In
100           addition, Extensions can add custom background worker processes.
101
102           For more information, see Chapter 46.
103
104    Background writer (process)
105           An auxiliary process that writes dirty data pages from shared
106           memory to the file system. It wakes up periodically, but works
107           only for a short period in order to distribute its expensive I/O
108           activity over time to avoid generating larger I/O peaks which
109           could block other processes.
110
111           For more information, see Section 19.4.4.
112
113    Base Backup
114           A binary copy of all database cluster files. It is generated by
115           the tool pg_basebackup. In combination with WAL files it can be
116           used as the starting point for recovery, log shipping, or
117           streaming replication.
118
119    Bloat
120           Space in data pages which does not contain current row versions,
121           such as unused (free) space or outdated row versions.
122
123    Bootstrap superuser
124           The first user initialized in a database cluster.
125
126           This user owns all system catalog tables in each database. It is
127           also the role from which all granted permissions originate.
128           Because of these things, this role may not be dropped.
129
130           This role also behaves as a normal database superuser, and its
131           superuser status cannot be removed.
132
133    Buffer Access Strategy
134           Some operations will access a large number of pages. A Buffer
135           Access Strategy helps to prevent these operations from evicting
136           too many pages from shared buffers.
137
138           A Buffer Access Strategy sets up references to a limited number
139           of shared buffers and reuses them circularly. When the operation
140           requires a new page, a victim buffer is chosen from the buffers
141           in the strategy ring, which may require flushing the page's
142           dirty data and possibly also unflushed WAL to permanent storage.
143
144           Buffer Access Strategies are used for various operations such as
145           sequential scans of large tables, VACUUM, COPY, CREATE TABLE AS
146           SELECT, ALTER TABLE, CREATE DATABASE, CREATE INDEX, and CLUSTER.
147
148    Cast
149           A conversion of a datum from its current data type to another
150           data type.
151
152           For more information, see CREATE CAST.
153
154    Catalog
155           The SQL standard uses this term to indicate what is called a
156           database in PostgreSQL's terminology.
157
158           (Don't confuse this term with system catalog).
159
160           For more information, see Section 22.1.
161
162    Check constraint
163           A type of constraint defined on a relation which restricts the
164           values allowed in one or more attributes. The check constraint
165           can make reference to any attribute of the same row in the
166           relation, but cannot reference other rows of the same relation
167           or other relations.
168
169           For more information, see Section 5.5.
170
171    Checkpoint
172           A point in the WAL sequence at which it is guaranteed that the
173           heap and index data files have been updated with all information
174           from shared memory modified before that checkpoint; a checkpoint
175           record is written and flushed to WAL to mark that point.
176
177           A checkpoint is also the act of carrying out all the actions
178           that are necessary to reach a checkpoint as defined above. This
179           process is initiated when predefined conditions are met, such as
180           a specified amount of time has passed, or a certain volume of
181           records has been written; or it can be invoked by the user with
182           the command CHECKPOINT.
183
184           For more information, see Section 28.5.
185
186    Checkpointer (process)
187           An auxiliary process that is responsible for executing
188           checkpoints.
189
190    Class (archaic)
191           See Relation.
192
193    Client (process)
194           Any process, possibly remote, that establishes a session by
195           connecting to an instance to interact with a database.
196
197    Cluster owner
198           The operating system user that owns the data directory and under
199           which the postgres process is run. It is required that this user
200           exist prior to creating a new database cluster.
201
202           On operating systems with a root user, said user is not allowed
203           to be the cluster owner.
204
205    Column
206           An attribute found in a table or view.
207
208    Commit
209           The act of finalizing a transaction within the database, which
210           makes it visible to other transactions and assures its
211           durability.
212
213           For more information, see COMMIT.
214
215    Concurrency
216           The concept that multiple independent operations happen within
217           the database at the same time. In PostgreSQL, concurrency is
218           controlled by the multiversion concurrency control mechanism.
219
220    Connection
221           An established line of communication between a client process
222           and a backend process, usually over a network, supporting a
223           session. This term is sometimes used as a synonym for session.
224
225           For more information, see Section 19.3.
226
227    Consistency
228           The property that the data in the database is always in
229           compliance with integrity constraints. Transactions may be
230           allowed to violate some of the constraints transiently before it
231           commits, but if such violations are not resolved by the time it
232           commits, such a transaction is automatically rolled back. This
233           is one of the ACID properties.
234
235    Constraint
236           A restriction on the values of data allowed within a table, or
237           in attributes of a domain.
238
239           For more information, see Section 5.5.
240
241    Cumulative Statistics System
242           A system which, if enabled, accumulates statistical information
243           about the instance's activities.
244
245           For more information, see Section 27.2.
246
247    Data area
248           See Data directory.
249
250    Database
251           A named collection of local SQL objects.
252
253           For more information, see Section 22.1.
254
255    Database cluster
256           A collection of databases and global SQL objects, and their
257           common static and dynamic metadata. Sometimes referred to as a
258           cluster. A database cluster is created using the initdb program.
259
260           In PostgreSQL, the term cluster is also sometimes used to refer
261           to an instance. (Don't confuse this term with the SQL command
262           CLUSTER.)
263
264           See also cluster owner, the operating-system owner of a cluster,
265           and bootstrap superuser, the PostgreSQL owner of a cluster.
266
267    Database server
268           See Instance.
269
270    Database superuser
271           A role having superuser status (see Section 21.2).
272
273           Frequently referred to as superuser.
274
275    Data directory
276           The base directory on the file system of a server that contains
277           all data files and subdirectories associated with a database
278           cluster (with the exception of tablespaces, and optionally WAL).
279           The environment variable PGDATA is commonly used to refer to the
280           data directory.
281
282           A cluster's storage space comprises the data directory plus any
283           additional tablespaces.
284
285           For more information, see Section 66.1.
286
287    Data page
288           The basic structure used to store relation data. All pages are
289           of the same size. Data pages are typically stored on disk, each
290           in a specific file, and can be read to shared buffers where they
291           can be modified, becoming dirty. They become clean when written
292           to disk. New pages, which initially exist in memory only, are
293           also dirty until written.
294
295    Datum
296           The internal representation of one value of an SQL data type.
297
298    Delete
299           An SQL command which removes rows from a given table or
300           relation.
301
302           For more information, see DELETE.
303
304    Domain
305           A user-defined data type that is based on another underlying
306           data type. It acts the same as the underlying type except for
307           possibly restricting the set of allowed values.
308
309           For more information, see Section 8.18.
310
311    Durability
312           The assurance that once a transaction has been committed, the
313           changes remain even after a system failure or crash. This is one
314           of the ACID properties.
315
316    Epoch
317           See Transaction ID.
318
319    Extension
320           A software add-on package that can be installed on an instance
321           to get extra features.
322
323           For more information, see Section 36.17.
324
325    File segment
326           A physical file which stores data for a given relation. File
327           segments are limited in size by a configuration value (typically
328           1 gigabyte), so if a relation exceeds that size, it is split
329           into multiple segments.
330
331           For more information, see Section 66.1.
332
333           (Don't confuse this term with the similar term WAL segment).
334
335    Foreign data wrapper
336           A means of representing data that is not contained in the local
337           database so that it appears as if were in local table(s). With a
338           foreign data wrapper it is possible to define a foreign server
339           and foreign tables.
340
341           For more information, see CREATE FOREIGN DATA WRAPPER.
342
343    Foreign key
344           A type of constraint defined on one or more columns in a table
345           which requires the value(s) in those columns to identify zero or
346           one row in another (or, infrequently, the same) table.
347
348    Foreign server
349           A named collection of foreign tables which all use the same
350           foreign data wrapper and have other configuration values in
351           common.
352
353           For more information, see CREATE SERVER.
354
355    Foreign table (relation)
356           A relation which appears to have rows and columns similar to a
357           regular table, but will forward requests for data through its
358           foreign data wrapper, which will return result sets structured
359           according to the definition of the foreign table.
360
361           For more information, see CREATE FOREIGN TABLE.
362
363    Fork
364           Each of the separate segmented file sets in which a relation is
365           stored. The main fork is where the actual data resides. There
366           also exist two secondary forks for metadata: the free space map
367           and the visibility map. Unlogged relations also have an init
368           fork.
369
370    Free space map (fork)
371           A storage structure that keeps metadata about each data page of
372           a table's main fork. The free space map entry for each page
373           stores the amount of free space that's available for future
374           tuples, and is structured to be efficiently searched for
375           available space for a new tuple of a given size.
376
377           For more information, see Section 66.3.
378
379    Function (routine)
380           A type of routine that receives zero or more arguments, returns
381           zero or more output values, and is constrained to run within one
382           transaction. Functions are invoked as part of a query, for
383           example via SELECT. Certain functions can return sets; those are
384           called set-returning functions.
385
386           Functions can also be used for triggers to invoke.
387
388           For more information, see CREATE FUNCTION.
389
390    GMT
391           See UTC.
392
393    Grant
394           An SQL command that is used to allow a user or role to access
395           specific objects within the database.
396
397           For more information, see GRANT.
398
399    Heap
400           Contains the values of row attributes (i.e., the data) for a
401           relation. The heap is realized within one or more file segments
402           in the relation's main fork.
403
404    Host
405           A computer that communicates with other computers over a
406           network. This is sometimes used as a synonym for server. It is
407           also used to refer to a computer where client processes run.
408
409    Index (relation)
410           A relation that contains data derived from a table or
411           materialized view. Its internal structure supports fast
412           retrieval of and access to the original data.
413
414           For more information, see CREATE INDEX.
415
416    Incremental backup
417           A special base backup that for some files may contain only those
418           pages that were modified since a previous backup, as opposed to
419           the full contents of every file. Like base backups, it is
420           generated by the tool pg_basebackup.
421
422           To restore incremental backups the tool pg_combinebackup is
423           used, which combines incremental backups with a base backup.
424           Afterwards, recovery can use WAL to bring the database cluster
425           to a consistent state.
426
427           For more information, see Section 25.3.3.
428
429    Input/Output (I/O)
430           Input/Output (I/O) describes the communication between a program
431           and peripheral devices. In the context of database systems, I/O
432           commonly, but not exclusively, refers to interaction with
433           storage devices or the network.
434
435           See Also Asynchronous I/O.
436
437    Insert
438           An SQL command used to add new data into a table.
439
440           For more information, see INSERT.
441
442    Instance
443           A group of backend and auxiliary processes that communicate
444           using a common shared memory area. One postmaster process
445           manages the instance; one instance manages exactly one database
446           cluster with all its databases. Many instances can run on the
447           same server as long as their TCP ports do not conflict.
448
449           The instance handles all key features of a DBMS: read and write
450           access to files and shared memory, assurance of the ACID
451           properties, connections to client processes, privilege
452           verification, crash recovery, replication, etc.
453
454    Isolation
455           The property that the effects of a transaction are not visible
456           to concurrent transactions before it commits. This is one of the
457           ACID properties.
458
459           For more information, see Section 13.2.
460
461    Join
462           An operation and SQL keyword used in queries for combining data
463           from multiple relations.
464
465    Key
466           A means of identifying a row within a table or other relation by
467           values contained within one or more attributes in that relation.
468
469    Lock
470           A mechanism that allows a process to limit or prevent
471           simultaneous access to a resource.
472
473    Log file
474           Log files contain human-readable text lines about events.
475           Examples include login failures, long-running queries, etc.
476
477           For more information, see Section 24.3.
478
479    Logged
480           A table is considered logged if changes to it are sent to the
481           WAL. By default, all regular tables are logged. A table can be
482           specified as unlogged either at creation time or via the ALTER
483           TABLE command.
484
485    Logger (process)
486           An auxiliary process which, if enabled, writes information about
487           database events into the current log file. When reaching certain
488           time- or volume-dependent criteria, a new log file is created.
489           Also called syslogger.
490
491           For more information, see Section 19.8.
492
493    Logical replication cluster
494           A set of publisher and subscriber instances with the publisher
495           instance replicating changes to the subscriber instance.
496
497    Log record
498           Archaic term for a WAL record.
499
500    Log sequence number (LSN)
501           Byte offset into the WAL, increasing monotonically with each new
502           WAL record.
503
504           For more information, see pg_lsn and Section 28.6.
505
506    LSN
507           See Log sequence number.
508
509    Master (server)
510           See Primary (server).
511
512    Materialized
513           The property that some information has been pre-computed and
514           stored for later use, rather than computing it on-the-fly.
515
516           This term is used in materialized view, to mean that the data
517           derived from the view's query is stored on disk separately from
518           the sources of that data.
519
520           This term is also used to refer to some multi-step queries to
521           mean that the data resulting from executing a given step is
522           stored in memory (with the possibility of spilling to disk), so
523           that it can be read multiple times by another step.
524
525    Materialized view (relation)
526           A relation that is defined by a SELECT statement (just like a
527           view), but stores data in the same way that a table does. It
528           cannot be modified via INSERT, UPDATE, DELETE, or MERGE
529           operations.
530
531           For more information, see CREATE MATERIALIZED VIEW.
532
533    Merge
534           An SQL command used to conditionally add, modify, or remove rows
535           in a given table, using data from a source relation.
536
537           For more information, see MERGE.
538
539    Multi-version concurrency control (MVCC)
540           A mechanism designed to allow several transactions to be reading
541           and writing the same rows without one process causing other
542           processes to stall. In PostgreSQL, MVCC is implemented by
543           creating copies (versions) of tuples as they are modified; after
544           transactions that can see the old versions terminate, those old
545           versions need to be removed.
546
547    Null
548           A concept of non-existence that is a central tenet of relational
549           database theory. It represents the absence of a definite value.
550
551    Optimizer
552           See Query planner.
553
554    Parallel query
555           The ability to handle parts of executing a query to take
556           advantage of parallel processes on servers with multiple CPUs.
557
558    Partition
559           One of several disjoint (not overlapping) subsets of a larger
560           set.
561
562           In reference to a partitioned table: One of the tables that each
563           contain part of the data of the partitioned table, which is said
564           to be the parent. The partition is itself a table, so it can
565           also be queried directly; at the same time, a partition can
566           sometimes be a partitioned table, allowing hierarchies to be
567           created.
568
569           In reference to a window function in a query, a partition is a
570           user-defined criterion that identifies which neighboring rows of
571           the query's result set can be considered by the function.
572
573    Partitioned table (relation)
574           A relation that is in semantic terms the same as a table, but
575           whose storage is distributed across several partitions.
576
577    Postmaster (process)
578           The very first process of an instance. It starts and manages the
579           auxiliary processes and creates backend processes on demand.
580
581           For more information, see Section 18.3.
582
583    Primary key
584           A special case of a unique constraint defined on a table or
585           other relation that also guarantees that all of the attributes
586           within the primary key do not have null values. As the name
587           implies, there can be only one primary key per table, though it
588           is possible to have multiple unique constraints that also have
589           no null-capable attributes.
590
591    Primary (server)
592           When two or more databases are linked via replication, the
593           server that is considered the authoritative source of
594           information is called the primary, also known as a master.
595
596    Procedure (routine)
597           A type of routine. Their distinctive qualities are that they do
598           not return values, and that they are allowed to make
599           transactional statements such as COMMIT and ROLLBACK. They are
600           invoked via the CALL command.
601
602           For more information, see CREATE PROCEDURE.
603
604    Query
605           A request sent by a client to a backend, usually to return
606           results or to modify data on the database.
607
608    Query planner
609           The part of PostgreSQL that is devoted to determining (planning)
610           the most efficient way to execute queries. Also known as query
611           optimizer, optimizer, or simply planner.
612
613    Record
614           See Tuple.
615
616    Recycling
617           See WAL file.
618
619    Referential integrity
620           A means of restricting data in one relation by a foreign key so
621           that it must have matching data in another relation.
622
623    Relation
624           The generic term for all objects in a database that have a name
625           and a list of attributes defined in a specific order. Tables,
626           sequences, views, foreign tables, materialized views, composite
627           types, and indexes are all relations.
628
629           More generically, a relation is a set of tuples; for example,
630           the result of a query is also a relation.
631
632           In PostgreSQL, Class is an archaic synonym for relation.
633
634    Replica (server)
635           A database that is paired with a primary database and is
636           maintaining a copy of some or all of the primary database's
637           data. The foremost reasons for doing this are to allow for
638           greater access to that data, and to maintain availability of the
639           data in the event that the primary becomes unavailable.
640
641    Replication
642           The act of reproducing data on one server onto another server
643           called a replica. This can take the form of physical
644           replication, where all file changes from one server are copied
645           verbatim, or logical replication where a defined subset of data
646           changes are conveyed using a higher-level representation.
647
648    Restartpoint
649           A variant of a checkpoint performed on a replica.
650
651           For more information, see Section 28.5.
652
653    Result set
654           A relation transmitted from a backend process to a client upon
655           the completion of an SQL command, usually a SELECT but it can be
656           an INSERT, UPDATE, DELETE, or MERGE command if the RETURNING
657           clause is specified.
658
659           The fact that a result set is a relation means that a query can
660           be used in the definition of another query, becoming a subquery.
661
662    Revoke
663           A command to prevent access to a named set of database objects
664           for a named list of roles.
665
666           For more information, see REVOKE.
667
668    Role
669           A collection of access privileges to the instance. Roles are
670           themselves a privilege that can be granted to other roles. This
671           is often done for convenience or to ensure completeness when
672           multiple users need the same privileges.
673
674           For more information, see CREATE ROLE.
675
676    Rollback
677           A command to undo all of the operations performed since the
678           beginning of a transaction.
679
680           For more information, see ROLLBACK.
681
682    Routine
683           A defined set of instructions stored in the database system that
684           can be invoked for execution. A routine can be written in a
685           variety of programming languages. Routines can be functions
686           (including set-returning functions and trigger functions),
687           aggregate functions, and procedures.
688
689           Many routines are already defined within PostgreSQL itself, but
690           user-defined ones can also be added.
691
692    Row
693           See Tuple.
694
695    Savepoint
696           A special mark in the sequence of steps in a transaction. Data
697           modifications after this point in time may be reverted to the
698           time of the savepoint.
699
700           For more information, see SAVEPOINT.
701
702    Schema
703           A schema is a namespace for SQL objects, which all reside in the
704           same database. Each SQL object must reside in exactly one
705           schema.
706
707           All system-defined SQL objects reside in schema pg_catalog.
708
709           More generically, the term schema is used to mean all data
710           descriptions (table definitions, constraints, comments, etc.)
711           for a given database or subset thereof.
712
713           For more information, see Section 5.10.
714
715    Segment
716           See File segment.
717
718    Select
719           The SQL command used to request data from a database. Normally,
720           SELECT commands are not expected to modify the database in any
721           way, but it is possible that functions invoked within the query
722           could have side effects that do modify data.
723
724           For more information, see SELECT.
725
726    Sequence (relation)
727           A type of relation that is used to generate values. Typically
728           the generated values are sequential non-repeating numbers. They
729           are commonly used to generate surrogate primary key values.
730
731    Server
732           A computer on which PostgreSQL instances run. The term server
733           denotes real hardware, a container, or a virtual machine.
734
735           This term is sometimes used to refer to an instance or to a
736           host.
737
738    Session
739           A state that allows a client and a backend to interact,
740           communicating over a connection.
741
742    Shared memory
743           RAM which is used by the processes common to an instance. It
744           mirrors parts of database files, provides a transient area for
745           WAL records, and stores additional common information. Note that
746           shared memory belongs to the complete instance, not to a single
747           database.
748
749           The largest part of shared memory is known as shared buffers and
750           is used to mirror part of data files, organized into pages. When
751           a page is modified, it is called a dirty page until it is
752           written back to the file system.
753
754           For more information, see Section 19.4.1.
755
756    SQL object
757           Any object that can be created with a CREATE command. Most
758           objects are specific to one database, and are commonly known as
759           local objects.
760
761           Most local objects reside in a specific schema in their
762           containing database, such as relations (all types), routines
763           (all types), data types, etc. The names of such objects of the
764           same type in the same schema are enforced to be unique.
765
766           There also exist local objects that do not reside in schemas;
767           some examples are extensions, data type casts, and foreign data
768           wrappers. The names of such objects of the same type are
769           enforced to be unique within the database.
770
771           Other object types, such as roles, tablespaces, replication
772           origins, subscriptions for logical replication, and databases
773           themselves are not local SQL objects since they exist entirely
774           outside of any specific database; they are called global
775           objects. The names of such objects are enforced to be unique
776           within the whole database cluster.
777
778           For more information, see Section 22.1.
779
780    SQL standard
781           A series of documents that define the SQL language.
782
783    Standby (server)
784           See Replica (server).
785
786    Startup process
787           An auxiliary process that replays WAL during crash recovery and
788           in a physical replica.
789
790           (The name is historical: the startup process was named before
791           replication was implemented; the name refers to its task as it
792           relates to the server startup following a crash.)
793
794    Superuser
795           As used in this documentation, it is a synonym for database
796           superuser.
797
798    System catalog
799           A collection of tables which describe the structure of all SQL
800           objects of the instance. The system catalog resides in the
801           schema pg_catalog. These tables contain data in internal
802           representation and are not typically considered useful for user
803           examination; a number of user-friendlier views, also in schema
804           pg_catalog, offer more convenient access to some of that
805           information, while additional tables and views exist in schema
806           information_schema (see Chapter 35) that expose some of the same
807           and additional information as mandated by the SQL standard.
808
809           For more information, see Section 5.10.
810
811    Table
812           A collection of tuples having a common data structure (the same
813           number of attributes, in the same order, having the same name
814           and type per position). A table is the most common form of
815           relation in PostgreSQL.
816
817           For more information, see CREATE TABLE.
818
819    Tablespace
820           A named location on the server file system. All SQL objects
821           which require storage beyond their definition in the system
822           catalog must belong to a single tablespace. Initially, a
823           database cluster contains a single usable tablespace which is
824           used as the default for all SQL objects, called pg_default.
825
826           For more information, see Section 22.6.
827
828    Temporary table
829           Tables that exist either for the lifetime of a session or a
830           transaction, as specified at the time of creation. The data in
831           them is not visible to other sessions, and is not logged.
832           Temporary tables are often used to store intermediate data for a
833           multi-step operation.
834
835           For more information, see CREATE TABLE.
836
837    TOAST
838           A mechanism by which large attributes of table rows are split
839           and stored in a secondary table, called the TOAST table. Each
840           relation with large attributes has its own TOAST table.
841
842           For more information, see Section 66.2.
843
844    Transaction
845           A combination of commands that must act as a single atomic
846           command: they all succeed or all fail as a single unit, and
847           their effects are not visible to other sessions until the
848           transaction is complete, and possibly even later, depending on
849           the isolation level.
850
851           For more information, see Section 13.2.
852
853    Transaction ID
854           The numerical, unique, sequentially-assigned identifier that
855           each transaction receives when it first causes a database
856           modification. Frequently abbreviated as xid. When stored on
857           disk, xids are only 32-bits wide, so only approximately four
858           billion write transaction IDs can be generated; to permit the
859           system to run for longer than that, epochs are used, also 32
860           bits wide. When the counter reaches the maximum xid value, it
861           starts over at 3 (values under that are reserved) and the epoch
862           value is incremented by one. In some contexts, the epoch and xid
863           values are considered together as a single 64-bit value; see
864           Section 67.1 for more details.
865
866           For more information, see Section 8.19.
867
868    Transactions per second (TPS)
869           Average number of transactions that are executed per second,
870           totaled across all sessions active for a measured run. This is
871           used as a measure of the performance characteristics of an
872           instance.
873
874    Trigger
875           A function which can be defined to execute whenever a certain
876           operation (INSERT, UPDATE, DELETE, TRUNCATE) is applied to a
877           relation. A trigger executes within the same transaction as the
878           statement which invoked it, and if the function fails, then the
879           invoking statement also fails.
880
881           For more information, see CREATE TRIGGER.
882
883    Tuple
884           A collection of attributes in a fixed order. That order may be
885           defined by the table (or other relation) where the tuple is
886           contained, in which case the tuple is often called a row. It may
887           also be defined by the structure of a result set, in which case
888           it is sometimes called a record.
889
890    Unique constraint
891           A type of constraint defined on a relation which restricts the
892           values allowed in one or a combination of columns so that each
893           value or combination of values can only appear once in the
894           relation — that is, no other row in the relation contains values
895           that are equal to those.
896
897           Because null values are not considered equal to each other,
898           multiple rows with null values are allowed to exist without
899           violating the unique constraint.
900
901    Unlogged
902           The property of certain relations that the changes to them are
903           not reflected in the WAL. This disables replication and crash
904           recovery for these relations.
905
906           The primary use of unlogged tables is for storing transient work
907           data that must be shared across processes.
908
909           Temporary tables are always unlogged.
910
911    Update
912           An SQL command used to modify rows that may already exist in a
913           specified table. It cannot create or remove rows.
914
915           For more information, see UPDATE.
916
917    User
918           A role that has the login privilege (see Section 21.2).
919
920    User mapping
921           The translation of login credentials in the local database to
922           credentials in a remote data system defined by a foreign data
923           wrapper.
924
925           For more information, see CREATE USER MAPPING.
926
927    UTC
928           Universal Coordinated Time, the primary global time reference,
929           approximately the time prevailing at the zero meridian of
930           longitude. Often but inaccurately referred to as GMT (Greenwich
931           Mean Time).
932
933    Vacuum
934           The process of removing outdated tuple versions from tables or
935           materialized views, and other closely related processing
936           required by PostgreSQL's implementation of MVCC. This can be
937           initiated through the use of the VACUUM command, but can also be
938           handled automatically via autovacuum processes.
939
940           For more information, see Section 24.1 .
941
942    View
943           A relation that is defined by a SELECT statement, but has no
944           storage of its own. Any time a query references a view, the
945           definition of the view is substituted into the query as if the
946           user had typed it as a subquery instead of the name of the view.
947
948           For more information, see CREATE VIEW.
949
950    Visibility map (fork)
951           A storage structure that keeps metadata about each data page of
952           a table's main fork. The visibility map entry for each page
953           stores two bits: the first one (all-visible) indicates that all
954           tuples in the page are visible to all transactions. The second
955           one (all-frozen) indicates that all tuples in the page are
956           marked frozen.
957
958    WAL
959           See Write-ahead log.
960
961    WAL archiver (process)
962           An auxiliary process which, if enabled, saves copies of WAL
963           files for the purpose of creating backups or keeping replicas
964           current.
965
966           For more information, see Section 25.3.
967
968    WAL file
969           Also known as WAL segment or WAL segment file. Each of the
970           sequentially-numbered files that provide storage space for WAL.
971           The files are all of the same predefined size and are written in
972           sequential order, interspersing changes as they occur in
973           multiple simultaneous sessions. If the system crashes, the files
974           are read in order, and each of the changes is replayed to
975           restore the system to the state it was in before the crash.
976
977           Each WAL file can be released after a checkpoint writes all the
978           changes in it to the corresponding data files. Releasing the
979           file can be done either by deleting it, or by changing its name
980           so that it will be used in the future, which is called
981           recycling.
982
983           For more information, see Section 28.6.
984
985    WAL record
986           A low-level description of an individual data change. It
987           contains sufficient information for the data change to be
988           re-executed (replayed) in case a system failure causes the
989           change to be lost. WAL records use a non-printable binary
990           format.
991
992           For more information, see Section 28.6.
993
994    WAL receiver (process)
995           An auxiliary process that runs on a replica to receive WAL from
996           the primary server for replay by the startup process.
997
998           For more information, see Section 26.2.
999
1000    WAL segment
1001           See WAL file.
1002
1003    WAL sender (process)
1004           A special backend process that streams WAL over a network. The
1005           receiving end can be a WAL receiver in a replica, pg_receivewal,
1006           or any other client program that speaks the replication
1007           protocol.
1008
1009    WAL summarizer (process)
1010           An auxiliary process that summarizes WAL data for incremental
1011           backups.
1012
1013           For more information, see Section 19.5.7.
1014
1015    WAL writer (process)
1016           An auxiliary process that writes WAL records from shared memory
1017           to WAL files.
1018
1019           For more information, see Section 19.5.
1020
1021    Window function (routine)
1022           A type of function used in a query that applies to a partition
1023           of the query's result set; the function's result is based on
1024           values found in rows of the same partition or frame.
1025
1026           All aggregate functions can be used as window functions, but
1027           window functions can also be used to, for example, give ranks to
1028           each of the rows in the partition. Also known as analytic
1029           functions.
1030
1031           For more information, see Section 3.5.
1032
1033    Write-ahead log
1034           The journal that keeps track of the changes in the database
1035           cluster as user- and system-invoked operations take place. It
1036           comprises many individual WAL records written sequentially to
1037           WAL files.