18 messages in org.postgresql.pgsql-hackersRe: Progress bar updates
FromSent OnAttachments
Gregory StarkJul 18, 2006 11:35 am 
Luke LonerganJul 18, 2006 11:44 am 
Dave PageJul 18, 2006 1:08 pm 
Andreas PflugJul 18, 2006 5:12 pm 
Neil ConwayJul 18, 2006 6:52 pm 
Tom LaneJul 18, 2006 8:23 pm 
Josh BerkusJul 18, 2006 9:24 pm 
Greg StarkJul 19, 2006 2:18 am 
Hannu KrosingJul 19, 2006 2:33 am 
Dave PageJul 19, 2006 2:35 am 
Andreas PflugJul 19, 2006 5:23 am 
Tom LaneJul 19, 2006 7:33 am 
Darcy BuskermolenJul 19, 2006 8:54 am 
Andrew HammondJul 19, 2006 10:29 am 
Christopher Kings-LynneJul 19, 2006 6:38 pm 
Agent MJul 19, 2006 7:40 pm 
Csaba NagyJul 20, 2006 1:51 am 
Luke LonerganJul 20, 2006 8:36 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Progress bar updatesActions...
From:Greg Stark (gsst@mit.edu)
Date:Jul 19, 2006 2:18:32 am
List:org.postgresql.pgsql-hackers

Tom Lane <tg@sss.pgh.pa.us> writes:

Neil Conway <nei@samurai.com> writes:

I'm not quite sure what you're suggesting; presumably you'd need to open another client connection to send the "status report" message to a backend (since a backend will not be polling its input socket during query execution). That just seems like the wrong approach -- stashing a backend's current status into shared memory sounds more promising, IMHO, and won't require changes to the FE/BE protocol.

Yeah, I was about to make the same comment. The new support for query status in shared memory should make it pretty cheap to update a progress indicator there, and then it'd be trivial to expose the indicator to other backends via pg_stat_activity.

I think that would be a fine feature too. But I don't think that reduces the desire clients have to be able to request updates on the status of their own queries.

In practice, if a query is taking long enough for this feature to be interesting, making another connection and looking to see what's happening is not a problem, and it's likely to be the most practical way anyway for many clients.

It would be the most practical way for a DBA to monitor an application. But it's not going to be convenient for clients like pgadmin or psql. Even a web server may want to, for example, stream ajax code updating a progress bar until it has results and then stream the ajax to display the results. Having to get the backend pid before your query and then open a second database connection to monitor your first connection would be extra footwork for nothing.