Tom Lane wrote:
> 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.)
Pagination is a good point. EXPLAIN is one of the few cases where the
output is clearly multi-line. I am concerned that making explain like
SELECT means it is on the one piece of debug info you can't get into the
server logs. Query dump can already get into the query logs, but not
EXPLAIN non-verbose.
In fact, as Peter explains it, NOTICE \g goes to the terminal because it
is assumed to be an error. Maybe we need to make psql smarter and only
send ERROR/WARNING to terminal, and INFO/NOTICE to the log file. With
new elog() levels, seems this is needed anyway.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026