Progress bar updates - Mailing list pgsql-hackers

From Gregory Stark
Subject Progress bar updates
Date
Msg-id 871wsi222b.fsf@stark.xeocode.com
Whole thread Raw
Responses Re: Progress bar updates  ("Dave Page" <dpage@vale-housing.co.uk>)
Re: Progress bar updates  (Andreas Pflug <pgadmin@pse-consulting.de>)
Re: Progress bar updates  (Neil Conway <neilc@samurai.com>)
Re: Progress bar updates  (Agent M <agentm@themactionfaction.com>)
List pgsql-hackers
Has anyone looked thought about what it would take to get progress bars from
clients like pgadmin? (Or dare I even suggest psql:)

My first thought would be a message like CancelQuery which would cause the
backend to peek into a static data structure and return a message that the
client could parse and display something intelligent. Various commands would
then stuff information into this data structure as they worked.

For a first cut this "data structure" could just be a float between 0 and 1.
Or perhaps it should be two integers, a "current" and an "estimated final".
That would let the client do more intelligent things when the estimates change
for the length of the whole job.

Later I could imagine elaborating into more complex structures for
representing multi-step processes or even whole query plans. I also see it
possibly being interesting to stuff this data structure into shared memory
handled just like how Tom handled the "current command". That would let you
see the other queries running on the server, how long they've been running,
and estimates for how long they'll continue to run.

I would suggest starting with utility functions like index builds or COPY
which would have to be specially handled anyways. Handling all optimizable
queries in a single generic implementation seems like something to tackle only
once the basic infrastructure is there and working for simple cases.

Of course the estimates would be not much better than guesses. But if you want
to say it's not worth having since they won't be perfectly accurate be
prepared to swear that you've never looked at the "% complete" that modern ftp
clients and web browsers display even though they too are, of course, widely
inaccurate. They nonetheless provide some feedback the user desperately wants
to be reassured that his job is making progress and isn't years away from
finishing.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: "Andrew Hammond"
Date:
Subject: Re: password is no required, authentication is overridden
Next
From: "Luke Lonergan"
Date:
Subject: Re: Progress bar updates