Unfortunately I've seen a lot of millisecond queries that have 6 figure estimates, due to data being in cache. So I'm not sure how practical that would be.
We seem to be agreed that longer running queries may benefit from more thorough optimization.
I like the idea of specifying a goal for the optimization, so the user can explicitly ask to spend more time. But I would also rather that I didn't have to do that at all, by using a heuristic that allows us to act sensibly even when not explicitly instructed by the user. It Just Works.
We can decide what the heuristic limit is based upon the cost of the technique. I don't think it matters how quick your CPU is, it matters how long planning takes as a % of the whole expected execution time.
--
Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services