Magnus Hagander wrote:
On Wed, Jun 13, 2007 at 01:20:25PM +0100, Dave Page wrote:
Humans deserve schemas as well!! :-). As for the likely reason for the
current behaviour, well, I'd rather have precise,
non-potentially-ambiguous info than save a few characters.
Just adding the schema name seems the most sensible and usable option -
not to mention the easiest!
While completely ignoring the current behaviour and likely the reason
it's done the way it is now... explain output was, and still is
primairly, for humans to read.
Just to open a whole new can of worms ;-)
I read an article a couple of days ago about the "machine readable showplan
output" in SQL Server 2005 (basically, it's EXPLAIN output but in XML
format). It does make a lot of sense if yourp rimary interface is !=
commandline (psql), such as pgadmin or phppgadmin. The idea being that you
can stick in *all* the details you want, since you can't possibly clutter
up the display. And you stick them in a well-defined XML format (or another
format if you happen to hate XML) where the client-side program can easily
parse out whatever it needs. It's also future-proof - if you add a new
field somewhere, the client program parser won't break.
Something worth doing? Not to replace the current explain output, but as a
second option (EXPLAIN XML whatever)?
I agree it would be nice to have machine readable explain output.
DB2 has the concept of "explain tables". Explain output is written to
tables, which tools query and pretty print the output. I like that idea
in principle. PostgreSQL is a relational database, so having the explain
output in relations make sense. No need for XML or any other extra
libraries, in either the server or client. Having the data in relational
format allows you to query them. For example, show me all sequential
scans, or all nodes where the estimated number of rows is off by a
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?