Glossary — in plain language

Demand-pull execution (Volcano model)

Also called: Volcano model, iterator model, pull-based execution

In plain English

Demand-pull execution means rows flow because the top of the plan asks for them. Each node, when asked for a tuple, asks its own children for tuples, and so on down to the scans. Nothing is pushed; everything is pulled from above, one row at a time.

Why it matters

This model needs no central scheduler and naturally supports early stopping: a LIMIT simply stops pulling. It also explains why PostgreSQL streams results instead of building the whole answer first — except where a blocking node has to. The classic name comes from the 1990s Volcano research system.

Was this helpful?

← Browse the full glossary