Re: [HACKERS] ANALYZE command progress checker - Mailing list pgsql-hackers

From Andres Freund
Subject Re: [HACKERS] ANALYZE command progress checker
Date
Msg-id 20170306065845.od6q2xoabquwqgne@alap3.anarazel.de
Whole thread Raw
In response to Re: [HACKERS] ANALYZE command progress checker  (David Steele <david@pgmasters.net>)
Responses Re: [HACKERS] ANALYZE command progress checker  (David Steele <david@pgmasters.net>)
Re: [HACKERS] ANALYZE command progress checker  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
On 2017-03-03 15:33:15 -0500, David Steele wrote:
> On 3/1/17 1:25 PM, Andres Freund wrote:
> > On 2017-03-01 10:20:41 -0800, David Fetter wrote:
> >> On Wed, Mar 01, 2017 at 09:45:40AM -0500, Peter Eisentraut wrote:
> >>> On 2/28/17 04:24, vinayak wrote:
> >>>> The view provides the information of analyze command progress details as 
> >>>> follows
> >>>> postgres=# \d pg_stat_progress_analyze
> >>>>            View "pg_catalog.pg_stat_progress_analyze"
> >>>
> >>> Hmm, do we want a separate "progress" system view for every kind of
> >>> command?  What if someone comes up with a progress checker for CREATE
> >>> INDEX, REINDEX, CLUSTER, etc.?
> > 
> > I don't think that'd be that bad, otherwise the naming of the fields is
> > complicated.  I guess the alternative (or do both?) would be to to have
> > a pivoted table, but that'd painful to query.  Do you have a better idea?
> > 
> > 
> >> Some kind of design for progress seems like a good plan.  Some ideas:
> >>
> >> - System view(s)
> >>
> >>     This has the advantage of being shown to work at least to a PoC by
> >>     this patch, and is similar to extant system views like
> >>     pg_stat_activity in the sense of capturing a moment in time.
> >>
> >> - NOTIFY
> >>
> >>     Event-driven model as opposed to a polling one.  This is
> >>     attractive on efficiency grounds, less so on reliability ones.
> >>
> >> - Something added to the wire protocol
> >>
> >>     More specialized, limits the information to the session where the
> >>     command was issued
> >>
> >> - Other things not named here
> > 
> > We now have a framework for this [1] (currently used by vacuum, but
> > extensible). The question is about presentation.  I'm fairly sure that
> > we shouldn't just add yet another framework, and I doubt that that's
> > what's proposed by Peter.
> 
> I think the idea of a general progress view is very valuable and there
> are a ton of operations it could be used for:  full table scans, index
> rebuilds, vacuum, copy, etc.
> However, I feel that this proposal is not flexible enough and comes too
> late in the release cycle to allow development into something that could
> be committed.

I'm not following. As I pointed out, we already have this framework?
This patch is just a short one using that framework?


> I propose we move this to the 2017-07 CF so the idea can be more fully
> developed.

I don't see that being warranted in this case, we're really not talking
about something complicated:doc/src/sgml/monitoring.sgml         |  135
+++++++++++++++++++++++++++++++++++src/backend/catalog/system_views.sql|   16 ++++src/backend/commands/analyze.c
|  34 ++++++++src/backend/utils/adt/pgstatfuncs.c  |    2 src/include/commands/progress.h      |   13
+++src/include/pgstat.h                |    3 src/test/regress/expected/rules.out  |   18 ++++7 files changed, 219
insertions(+),2 deletions(-)
 
excepting tests and docs, this is very little actual code.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Kuntal Ghosh
Date:
Subject: Re: [HACKERS] Performance degradation in TPC-H Q18
Next
From: Kyotaro HORIGUCHI
Date:
Subject: Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray