4 This is a list of terms and their meaning in the context of PostgreSQL
5 and relational database systems in general.
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,
13 Aggregate function (routine)
14 A function that combines (aggregates) multiple input values, for
15 example by counting, averaging or adding, yielding a single
18 For more information, see Section 9.21.
20 See Also Window function (routine).
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.
27 For more information, see Chapter 62 and Chapter 63.
30 See Window function (routine).
33 The act of collecting statistics from data in tables and other
34 relations to help the query planner to make decisions about how
37 (Don't confuse this term with the ANALYZE option to the EXPLAIN
40 For more information, see ANALYZE.
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.
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.
53 See Also Input/Output.
56 In reference to a datum: the fact that its value cannot be
57 broken down into smaller components.
59 In reference to a database transaction: see 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
69 An element with a certain name and data type found within a
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.
79 For more information, see Section 24.1.6.
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.
90 Process of an instance which acts on behalf of a client session
91 and handles its requests.
93 (Don't confuse this term with the similar terms Background
94 Worker or Background Writer).
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.
102 For more information, see Chapter 46.
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.
111 For more information, see Section 19.4.4.
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.
120 Space in data pages which does not contain current row versions,
121 such as unused (free) space or outdated row versions.
124 The first user initialized in a database cluster.
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.
130 This role also behaves as a normal database superuser, and its
131 superuser status cannot be removed.
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.
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.
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.
149 A conversion of a datum from its current data type to another
152 For more information, see CREATE CAST.
155 The SQL standard uses this term to indicate what is called a
156 database in PostgreSQL's terminology.
158 (Don't confuse this term with system catalog).
160 For more information, see Section 22.1.
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
169 For more information, see Section 5.5.
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.
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.
184 For more information, see Section 28.5.
186 Checkpointer (process)
187 An auxiliary process that is responsible for executing
194 Any process, possibly remote, that establishes a session by
195 connecting to an instance to interact with a database.
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.
202 On operating systems with a root user, said user is not allowed
203 to be the cluster owner.
206 An attribute found in a table or view.
209 The act of finalizing a transaction within the database, which
210 makes it visible to other transactions and assures its
213 For more information, see COMMIT.
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.
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.
225 For more information, see Section 19.3.
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.
236 A restriction on the values of data allowed within a table, or
237 in attributes of a domain.
239 For more information, see Section 5.5.
241 Cumulative Statistics System
242 A system which, if enabled, accumulates statistical information
243 about the instance's activities.
245 For more information, see Section 27.2.
251 A named collection of local SQL objects.
253 For more information, see Section 22.1.
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.
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
264 See also cluster owner, the operating-system owner of a cluster,
265 and bootstrap superuser, the PostgreSQL owner of a cluster.
271 A role having superuser status (see Section 21.2).
273 Frequently referred to as superuser.
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
282 A cluster's storage space comprises the data directory plus any
283 additional tablespaces.
285 For more information, see Section 66.1.
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.
296 The internal representation of one value of an SQL data type.
299 An SQL command which removes rows from a given table or
302 For more information, see DELETE.
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.
309 For more information, see Section 8.18.
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.
320 A software add-on package that can be installed on an instance
321 to get extra features.
323 For more information, see Section 36.17.
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.
331 For more information, see Section 66.1.
333 (Don't confuse this term with the similar term WAL segment).
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
341 For more information, see CREATE FOREIGN DATA WRAPPER.
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.
349 A named collection of foreign tables which all use the same
350 foreign data wrapper and have other configuration values in
353 For more information, see CREATE SERVER.
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.
361 For more information, see CREATE FOREIGN TABLE.
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
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.
377 For more information, see Section 66.3.
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.
386 Functions can also be used for triggers to invoke.
388 For more information, see CREATE FUNCTION.
394 An SQL command that is used to allow a user or role to access
395 specific objects within the database.
397 For more information, see GRANT.
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.
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.
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.
414 For more information, see CREATE INDEX.
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.
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.
427 For more information, see Section 25.3.3.
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.
435 See Also Asynchronous I/O.
438 An SQL command used to add new data into a table.
440 For more information, see INSERT.
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.
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.
455 The property that the effects of a transaction are not visible
456 to concurrent transactions before it commits. This is one of the
459 For more information, see Section 13.2.
462 An operation and SQL keyword used in queries for combining data
463 from multiple relations.
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.
470 A mechanism that allows a process to limit or prevent
471 simultaneous access to a resource.
474 Log files contain human-readable text lines about events.
475 Examples include login failures, long-running queries, etc.
477 For more information, see Section 24.3.
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
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.
491 For more information, see Section 19.8.
493 Logical replication cluster
494 A set of publisher and subscriber instances with the publisher
495 instance replicating changes to the subscriber instance.
498 Archaic term for a WAL record.
500 Log sequence number (LSN)
501 Byte offset into the WAL, increasing monotonically with each new
504 For more information, see pg_lsn and Section 28.6.
507 See Log sequence number.
510 See Primary (server).
513 The property that some information has been pre-computed and
514 stored for later use, rather than computing it on-the-fly.
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.
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.
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
531 For more information, see CREATE MATERIALIZED VIEW.
534 An SQL command used to conditionally add, modify, or remove rows
535 in a given table, using data from a source relation.
537 For more information, see MERGE.
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.
548 A concept of non-existence that is a central tenet of relational
549 database theory. It represents the absence of a definite value.
555 The ability to handle parts of executing a query to take
556 advantage of parallel processes on servers with multiple CPUs.
559 One of several disjoint (not overlapping) subsets of a larger
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
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.
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.
578 The very first process of an instance. It starts and manages the
579 auxiliary processes and creates backend processes on demand.
581 For more information, see Section 18.3.
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.
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.
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.
602 For more information, see CREATE PROCEDURE.
605 A request sent by a client to a backend, usually to return
606 results or to modify data on the database.
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.
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.
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.
629 More generically, a relation is a set of tuples; for example,
630 the result of a query is also a relation.
632 In PostgreSQL, Class is an archaic synonym for relation.
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.
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.
649 A variant of a checkpoint performed on a replica.
651 For more information, see Section 28.5.
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
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.
663 A command to prevent access to a named set of database objects
664 for a named list of roles.
666 For more information, see REVOKE.
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.
674 For more information, see CREATE ROLE.
677 A command to undo all of the operations performed since the
678 beginning of a transaction.
680 For more information, see ROLLBACK.
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.
689 Many routines are already defined within PostgreSQL itself, but
690 user-defined ones can also be added.
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.
700 For more information, see SAVEPOINT.
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
707 All system-defined SQL objects reside in schema pg_catalog.
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.
713 For more information, see Section 5.10.
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.
724 For more information, see SELECT.
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.
732 A computer on which PostgreSQL instances run. The term server
733 denotes real hardware, a container, or a virtual machine.
735 This term is sometimes used to refer to an instance or to a
739 A state that allows a client and a backend to interact,
740 communicating over a connection.
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
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.
754 For more information, see Section 19.4.1.
757 Any object that can be created with a CREATE command. Most
758 objects are specific to one database, and are commonly known as
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.
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.
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.
778 For more information, see Section 22.1.
781 A series of documents that define the SQL language.
784 See Replica (server).
787 An auxiliary process that replays WAL during crash recovery and
788 in a physical replica.
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.)
795 As used in this documentation, it is a synonym for database
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.
809 For more information, see Section 5.10.
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.
817 For more information, see CREATE TABLE.
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.
826 For more information, see Section 22.6.
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.
835 For more information, see CREATE TABLE.
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.
842 For more information, see Section 66.2.
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
851 For more information, see Section 13.2.
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.
866 For more information, see Section 8.19.
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
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.
881 For more information, see CREATE TRIGGER.
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.
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.
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.
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.
906 The primary use of unlogged tables is for storing transient work
907 data that must be shared across processes.
909 Temporary tables are always unlogged.
912 An SQL command used to modify rows that may already exist in a
913 specified table. It cannot create or remove rows.
915 For more information, see UPDATE.
918 A role that has the login privilege (see Section 21.2).
921 The translation of login credentials in the local database to
922 credentials in a remote data system defined by a foreign data
925 For more information, see CREATE USER MAPPING.
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
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.
940 For more information, see Section 24.1 .
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.
948 For more information, see CREATE VIEW.
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
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
966 For more information, see Section 25.3.
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.
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
983 For more information, see Section 28.6.
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
992 For more information, see Section 28.6.
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.
998 For more information, see Section 26.2.
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
1009 WAL summarizer (process)
1010 An auxiliary process that summarizes WAL data for incremental
1013 For more information, see Section 19.5.7.
1015 WAL writer (process)
1016 An auxiliary process that writes WAL records from shared memory
1019 For more information, see Section 19.5.
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.
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
1031 For more information, see Section 3.5.
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