Projection (ExecProject)
Also called: target list evaluation, ExecProject
Projection is the step where a node builds the specific columns and expressions its output should contain, the SELECT list. It takes the input tuple and computes the result columns, whether that is a plain column, price * 1.2, or upper(name).
What this means
The step where a node builds precisely the columns and expressions you asked for in the SELECT list. Given an input row it computes the outputs (a plain column, price * 1.2, upper(name)) and hands up a row shaped the way your query wants it.
Why it matters operationally
Projection is per-tuple work, so heavy expressions in the SELECT list cost something on every row, and PostgreSQL's JIT exists largely to speed this evaluation up. Selecting fewer or cheaper columns is a real, if modest, way to reduce executor work on large result sets.