Search Postgresql Archives

Re: Access to postgresql query optimizer output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Janes <jeff.janes@xxxxxxxxx> writes:
> On Mon, Oct 29, 2012 at 1:07 AM, Seref Arikan
> <serefarikan@xxxxxxxxxxxxxxxxxxxxx> wrote:
>> I keep seeing statements like "Postgresql optimizer rewrites this query
>> as...." What I'm curious about is, is there a way to obtain SQL form of the
>> re-written queries somewhere in the chain of query evaluation? It does not
>> make a lot sense to generate sql again, but it would help a lot to see  the
>> queries in their  rewritten form.

> The re-writing does not occur at the level of SQL, but rather at the
> level of an internal representation "parse tree".

> You can see these representations using these configuration settings;

> debug_print_parse = on
> debug_print_rewritten = on

> I'm not aware of anything that turns those back into SQL.

It's not entirely clear whether the question is about the rule rewriter
or the planner.  The rule rewriter really is effectively a
source-to-source transformation; its output parse trees still correspond
1-to-1 to SQL and could be turned back into something meaningful by
feeding them to ruleutils.c.  There's no built-in support for that,
though, and it's not clear to me that it would be very interesting in
practice.

I suspect that the OP is more interested in actions taken by the
planner; but those are not expressed as parsetree transformations.
There are all sorts of practical obstacles to getting a useful view of
intermediate steps in the planning process, for instance that most
alternatives are rejected without ever forming any complete
representation of them.

			regards, tom lane


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux