Re: Access to postgresql query optimizer output

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Seref Arikan <serefarikan(at)kurumsalteknoloji(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Access to postgresql query optimizer output
Date: 2012-10-29 08:46:37
Message-ID: 508E426D.3030402@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/29/2012 04:07 PM, Seref Arikan wrote:
> Greetings,
> 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.

I've never seen such a tool, and I'm not sure one is possible, though I
agree it'd be interesting.

The same SQL can result in many different query plans, and there are
many different SQL statements that can all result in the same query
plan. How would you unambiguously show what plan the SQL represented?

It's not so much that Pg's planner "rewrites" one SQL statement to
another. Usually, it's that two or more different SQL statements
optimize down to the same query plan.

EXPLAIN and EXPLAIN ANALYZE show the query plans, and I'm not really
sure you can go backwards from there to SQL in any consistent and
logical way.

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Seref Arikan 2012-10-29 09:00:38 Re: Access to postgresql query optimizer output
Previous Message Craig Ringer 2012-10-29 08:41:05 Re: Why PGDLLIMPORT is needed