Also called: target list evaluation, ExecProject
In plain English
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).
Why it matters
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.