> > Might it not be a win to also store "per backend global 
> values" in the 
> > shared memory segment? Things like "time of last command", 
> "number of 
> > transactions executed in this backend", "backend start 
> time" and other 
> > values that are fixed-size?
> 
> I'm including backend start time, command start time, etc 
> under the heading of "current status" which'll be in the 
> shared memory.  However, I don't believe in trying to count 
> events (like transaction commits) that way.  If we do then we 
> risk losing events whenever a backend quits and is replaced 
> by another.

Well, in many cases that's not a problem. It might be interesting to for
example know that a backend has run nnn transactions before ending up in
the state where it is now (say, idle in transaction and idle for a long
time). The part about this being "transient data" that can go away along
with a backend quit would still hold true.

What were your thoughts about storing bgwriter and archiver statistics
that way? Good or bad idea?


> I haven't yet looked through the stats in detail, but this 
> approach basically presumes that we are only going to count 
> events per-table and per-database --- I am thinking that the 
> background stats collector process won't even keep track of 
> individual backends anymore.  (So, we'll fix the old problem 
> of loss of backend-exit messages resulting in bogus displays.)

Right.  As I see you have now implemented ;-)

/Magnus

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to