Plain-language definitions of common SQL and PostgreSQL terms.
Modifier that makes EXPLAIN actually run the query and report measured execution times alongside the planner's estimates.
Command
Plan node that concatenates rows from multiple child plans, used for UNION ALL and partitioned tables.
Plan operator
Background process that automatically runs VACUUM and ANALYZE on tables that accumulate dead tuples or stale statistics.
Internals
Default PostgreSQL index type: a balanced search tree of sorted keys that supports equality and range lookups.
Index
PostgreSQL builds a bitmap of matching tuple IDs from one or more indexes, then visits the heap pages once each.
Operator
Plan node that builds a bitmap of matching tuple IDs from one or more indexes before fetching rows from the heap.
Plan operator
Block Range Index: a tiny PostgreSQL index that stores summary statistics for ranges of heap pages.
Index
Index built on two or more columns, useful for queries that filter or sort on the leading columns.
Index
Subquery that references columns from the outer query, so it is logically re-evaluated for every outer row.
Query
Index that contains every column a query needs, allowing an Index Only Scan with no heap fetch.
Index
Common Table Expression: a named subquery introduced with WITH that can be referenced like a table inside the same statement.
Concept
Two or more transactions blocked waiting for locks held by each other, broken by PostgreSQL aborting one of them.
Concept
PostgreSQL command that shows the planner's intended execution plan for a query without running it.
Command
Plan node that collects rows from parallel worker processes back into the leader for the final result.
Plan operator
Generalized Inverted Index: a PostgreSQL index type optimised for columns where each value contains many components, like arrays, JSONB documents, and tsvectors.
Index
Generalized Search Tree: an extensible PostgreSQL index framework for geometric, range, and full-text data.
Index
Plan node that groups rows assuming the input is already sorted on the GROUP BY keys.
Plan operator
Join algorithm that builds an in-memory hash table from one input and probes it with rows from the other.
Join
Plan node that groups rows by hashing the GROUP BY keys into an in-memory hash table.
Plan operator
Plan node that returns rows using only the index, skipping the heap entirely when the visibility map allows.
Plan operator
PostgreSQL walks an index to find matching rows and then fetches them from the heap.
Operator
Setting that controls how transaction changes become visible to concurrent transactions.
Concept
Join where the right-hand subquery can reference columns from earlier FROM-clause items, evaluated once per outer row.
Query
Plan node that stops requesting rows from its child once a row count has been produced.
Plan operator
Plan node that caches its child's output so it can be re-read multiple times without re-executing.
Plan operator
View whose result is physically stored on disk and refreshed on demand, trading freshness for query speed.
Concept
Plan node introduced in PostgreSQL 14 that caches inner-side lookups during a Nested Loop join.
Plan operator
Join algorithm that consumes two sorted inputs in lockstep and emits matching rows.
Join
Multiversion Concurrency Control: PostgreSQL's mechanism that lets readers see a consistent snapshot of the database without blocking writers.
Concept
Join algorithm that scans the inner relation once for every row of the outer relation.
Join
Index built with a WHERE clause so only rows matching the predicate are stored, keeping the index small and selective.
Index
The tree of operators PostgreSQL chose to execute a query, including scans, joins, sorts, and aggregations.
Concept
Common Table Expression that references itself, used to walk hierarchies, graphs, and generated sequences.
Query
Sequential scan: PostgreSQL reads every row in a table from disk to find matches.
Operator
Plan node that orders its input rows, used for ORDER BY, merge joins, and some grouping operations.
Plan operator
The Oversized-Attribute Storage Technique: how PostgreSQL stores values too large to fit in a regular 8 KB heap page.
Internals
Group of SQL statements treated as a single atomic unit: either every change commits or every change rolls back.
Concept
PostgreSQL maintenance command that reclaims space from dead tuples and updates the visibility map so MVCC stays efficient.
Command
Write-Ahead Log: append-only stream of every change PostgreSQL makes, used for durability, crash recovery, and replication.
Internals
Function that computes a value over a window of related rows defined by an OVER clause, without collapsing rows like a GROUP BY.
Concept