[prev] 35 [next]

PostgreSQL Query Execution

Defs: src/include/executor and src/include/nodes

Code: src/backend/executor

PostgreSQL uses pipelining ...

  • query plan is a tree of Plan nodes
  • each type of node implements one kind of RA operation
    (node implements specific access method via iterator interface)
  • node types e.g. Scan, Group, Indexscan, Sort, HashJoin
  • execution is managed via a tree of PlanState nodes
    (mirrors the structure of the tree of Plan nodes; holds execution state)