* Tom Lane (tgl@sss.pgh.pa.us) [020310 22:46]:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I can't think of a good reason, but making it a select output makes
> > EXPLAIN one of the few things you can't get into the server logs, even
> > if you want to. At DEBUG5, you get almost everything about a query.
>
> ... including the query plan dump, no? I don't see the point here.
>
> One reason in favor of SELECT-like output is that a lot of user
> interfaces are not prepared for large NOTICE outputs. (Even psql
> isn't really, since it can't paginate NOTICE output.)
Another reason is that explain output would be easily available in
non-postgres specific client utilities written on top of standardized
database interfaces, like ODBC and JDBC.
We're just polishing off a sizable MS SQL Server to PG migration, and
we have a department of three folks that use an ODBC based tool to do
lots of one-off SQL queries. They like their existing tool, and it
works well. Getting explain output requires that they either use
PgAdmin II, which they're not used to, or a shell connection to psql,
which they're really not used to, or having the DBA pull the explain
data out of the log, which is truly a nuisance.
So, please, please, please add a select-like output path for explain.
I'm ambivalent about whether or not it still logs the output.
-Brad