"Michal J. Kubski" <michal.kubski@cdt.pl> writes:[ function that creates a bunch of temporary tables and immediately joins them ]It'd probably be a good idea to insert an ANALYZE on the temp tables after you fill them. The way you've got this set up, there is no chance of auto-analyze correcting that oversight for you, so the planner will be planning the join "blind" without any stats. Good results would only come by pure luck. regards, tom lane