Re: EXPLAIN progress info - Mailing list pgsql-patches

From Heikki Linnakangas
Subject Re: EXPLAIN progress info
Date
Msg-id 486CD002.9010906@enterprisedb.com
Whole thread Raw
In response to Re: EXPLAIN progress info  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
I like this idea in general. I'm envisioning a cool explain display in
pgAdmin that's updated live, as the query is executed, showing how many
tuples a seq scan in the bottom, and an aggregate above it, has
processed. Drool.

Currently the interface is that you open a new connection, and signal
the backend using the same mechanism as a query cancel. That's fine for
the interactive psql use case, but seems really heavy-weight for the
pgAdmin UI I'm envisioning. You'd have to poll the server, opening a new
connection each time. Any ideas on that? How about a GUC to send the
information automatically every n seconds, for example?

Other than that, this one seems to be the most serious issue:

Tom Lane wrote:
> Gregory Stark <stark@enterprisedb.com> writes:
>> There are downsides:
>
> Insurmountable ones at that.  This one already makes it a non-starter:
>
>> a) the overhead of counting rows and loops is there for every query execution,
>> even if you don't do explain analyze.

I wouldn't be surprised if the overhead of the counters turns out to be
a non-issue, but we'd have to see some testing of that. InstrEndLoop is
the function we're worried about, right?

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

pgsql-patches by date:

Previous
From: daveg
Date:
Subject: Re: pg_dump lock timeout
Next
From: "Heikki Linnakangas"
Date:
Subject: Re: page macros cleanup