Thread: Query Progress Estimator
Hi I am trying to implement Query Progress estimator in postgres for queries with long run time.I am looking for info regarding the number of tuples already processsed by a running query . I would be very thankful if someone can suggest where can i find it or the data structure that holds the value. Right now I am exploring postgres using ddd ( debugger ).Can anyone suggest a better utility /editor/tool for exploring the same in a better way ? I am working Fedora core 3 Linux Thanks and regards Anuj Tripathi
On Sun, Oct 23, 2005 at 02:04:02AM +0530, Anuj Tripathi wrote: > Hi > I am trying to implement Query Progress estimator in postgres for > queries with long run time.I am looking for info regarding the number of > tuples already processsed by a running query . > I would be very thankful if someone can suggest where can i find it or > the data structure that holds the value. Currently, that information is only tracked on a per-node level in an EXPLAIN ANALYZE query. And the total number of tuples output so far is stored in a local variable in ExecutePlan(), so you're have to change something if you want to get it everywhere... > Right now I am exploring postgres using ddd ( debugger ).Can > anyone suggest a better utility /editor/tool for exploring the same in a > better way ? Can't help you there, I generally use a combination of grep, less, joe and gdb but I'm not sure I would recommend that to anyone... Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a > tool for doing 5% of the work and then sitting around waiting for someone > else to do the other 95% so you can sue them.
On Sun, 2005-10-23 at 02:04 +0530, Anuj Tripathi wrote: > Hi > I am trying to implement Query Progress estimator in postgres for > queries with long run time.I am looking for info regarding the number of > tuples already processsed by a running query . > I would be very thankful if someone can suggest where can i find it or > the data structure that holds the value. > Right now I am exploring postgres using ddd ( debugger ).Can > anyone suggest a better utility /editor/tool for exploring the same in a > better way ? You should read up on how the Executor works before using ddd. You need to see the bigger picture first. In some plans, nodes are completely executed before the next higher node begins the main phase of its execution - in other cases all nodes are active simultaneously. While it is executing, an executor node is the only place that knows how far through its own task it is. That in itself is not much guide to how the whole query is doing since you need to accumulate these individual viewpoints. In my understanding there isn't a supervisor, each node recursively calls the nodes that need to supply it with data. You'd need some kind of concept such as that to allow feedback from individual nodes to be reconciled into a total picture for the query. Incidentally, this is related to the question: "How much memory is my query currently using?" (as opposed to "How much memory is currently allocated?", which is of course externally measurable). Best Regards, Simon Riggs