Skip to main content Link Menu Expand (external link) Document Search Copy Copied

PostgreSQL states the operation names in a switch case in its source code. Some descriptions are copied from pgMustard.

Operation Category Reference Description
Aggregate Folder Link Combines rows together to produce result(s). This can be a combination of GROUP BY, UNION, or SELECT DISTINCT clauses, and/or functions like COUNT, MAX, or SUM.
Append Combinator Link Combines rows together to produce result(s). Append nodes are currently used for unions, and to support inheritance queries, where several relations need to be scanned.
Bitmap Heap Scan Producer Link The Bitmap Heap Scan reads pages from a bitmap created by the other operations, filtering out any rows that don’t match the condition.
Bitmap Index Scan Producer Link using an index to create a bitmap of rows that may* fulfill (at least part of) the condition.
BitmapAnd Executor Link Doing an operation on the bitmap in memory.
BitmapOr Executor Link Doing or operation on the bitmap in memory.
CTE Scan Producer Link Scan the result of a common table expression
Custom Scan Producer Link Postgres allows extensions to add new custom scan types to extend the ways in which it can read data.
Foreign Scan Producer Link Reads data from a remote data source.
Function Scan Producer Link Take the results of a set-returning function, and return them as if they were rows read from a table.
Gather Executor Link Combines the output of child nodes, which are executed by parallel workers.
Gather Merge Executor Link Combines the output of child nodes, which are executed by parallel workers with order guarantee.
Group Folder Link Groups rows together for a GROUP BY operation.
Hash Executor Link Hashes the query rows for use by its parent operation, usually used to perform a JOIN.
Hash Join Join Link An implementation of join in which one of the collections of rows to be joined is hashed on the join keys using a separate ‘Hash’ node.
Incremental Sort Combinator Link Incremental sort is an optimized variant of multikey sort for cases when the input is already sorted by a prefix of the sort keys.
Index Only Scan Producer Link When all the information needed is contained in the index, an index-only scan can read all the data from it, without referring to the table.
Index Scan Producer Link Scans the index for rows that match a particular condition, then reads them from the table.
Limit Combinator Link Take some rows and discard the remaining ones, for example as part of a LIMIT or FETCH clause.
LockRows Executor Link Row locking for UPDATE or SHARING.
Materialize Executor Link Stores the result of the child operation in memory, to allow fast, repeated access to it by parent operations.
Memoize Executor Link Memoize nodes are intended to sit above parameterized nodes in the plan tree in order to cache results from them
Merge Append Combinator Link Combines the sorted results of the child operations, in a way that preserves their sort order.
Merge Join Join Link A joining algorithm if the two lists of rows to be joined are already sorted on their join keys.
ModifyTable Consumer Link Writes or deletes data in a table.
Named Tuplestore Scan Producer Link an operation that scans a temporary table, called a tuplestore, that is created in memory to store query results.
Nested Loop Join Link An implementation of join or lookup where the first child node is run once, then for every row it produces, its partner is looked up in the second node.
ProjectSet Executor Link Executes set-returning functions.
Recursive Union Combinator Link Take the union of all steps of a recursive function. Usually caused by a WITH RECURSIVE statement.
Result Producer Link Result nodes return a value without a scan (like a hardcoded value).
Sample Scan Producer Link Scans the table to obtain samples.
Seq Scan Producer Link A Sequential Scan (or Seq Scan) reads the rows from the table, in order.
SetOp Combinator Link A set operation like INTERSECT or EXCEPT.
Sort Combinator Link Sorts rows into an order, usually as a result of an ORDER BY clause.
Subquery Scan Producer Link Read the results of a subquery.
Table Function Scan Producer Link Take the results of a set-returning function, and return them as if they were rows read from a table with a range.
Tid Range Scan Producer Link A scan of a table by TupleID with a range.
Tid Scan Producer Link A scan of a table by TupleID (or ctid). https://www.postgresql.org/docs/current/ddl-system-columns.html
Unique Combinator Link Removes duplicates from a sorted result set.
Values Scan Producer Link Read in constants as part of a VALUES command.
WindowAgg Folder Link WindowAgg nodes represent window functions, which are caused by OVER statements.
WorkTable Scan Producer Link Read in intermediate stages in an operation, usually a recursive operation declared using WITH RECURSIVE.

References: