Progress bar updates

From: Gregory Stark <gsstark(at)mit(dot)edu>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Progress bar updates
Date: 2006-07-18 18:35:56
Message-ID: 871wsi222b.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Luke Lonergan 2006-07-18 18:45:01 Re: Progress bar updates
Previous Message Bruce Momjian 2006-07-18 18:20:51 pgsql: Done: o -Display IN, INOUT, and OUT parameters in \df