I'm a bit unsatisfied with this output because it doesn't tell me the plan it used to construct the CTE being scanned.
rhaas=# explain with wumpus as (select * from foo where id < 200) select * from foo f, wumpus c, wumpus u where f.creator_id = c.id and f.last_updater_id = u.id; QUERY PLAN ----------------------------------------------------------------------------- Hash Join (cost=31.44..74.94 rows=1000 width=36) Hash Cond: (f.creator_id = c.id) InitPlan -> Seq Scan on foo (cost=0.00..18.50 rows=199 width=12) Filter: (id < 200) -> Hash Join (cost=6.47..36.22 rows=1000 width=24) Hash Cond: (f.last_updater_id = u.id) -> Seq Scan on foo f (cost=0.00..16.00 rows=1000 width=12) -> Hash (cost=3.98..3.98 rows=199 width=12) -> CTE Scan on wumpus u (cost=0.00..3.98 rows=199 width=12) -> Hash (cost=3.98..3.98 rows=199 width=12) -> CTE Scan on wumpus c (cost=0.00..3.98 rows=199 width=12) (12 rows) I haven't looked at what would be required to fix this, but I think we should fix it before releasing 8.4. ...Robert -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers