Thread: Cache on pg_statistics

Cache on pg_statistics

From
Bruce Momjian
Date:
Tom, let me know what caches you want on pg_statistics, or if you would
prefer to do it yourself, instructions are at the top of syscache.c.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Cache on pg_statistics

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom, let me know what caches you want on pg_statistics, or if you would
> prefer to do it yourself, instructions are at the top of syscache.c.

AFAIK the only index we need is one on starelid + staattnum.  If you
have the time, please put it in and teach getattstatistics() in
backend/utils/adt/selfuncs.c to use it.  That seems to be the only
place that reads pg_statistic.

If you wanted to include staop as a third column, then the index could
be UNIQUE.  (We don't actually use staop at the moment, but I think it
should be left in place for possible future use.)

vacuum.c may also need to be taught to fill the index...
        regards, tom lane


Re: [HACKERS] Cache on pg_statistics

From
Bruce Momjian
Date:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom, let me know what caches you want on pg_statistics, or if you would
> > prefer to do it yourself, instructions are at the top of syscache.c.
> 
> AFAIK the only index we need is one on starelid + staattnum.  If you
> have the time, please put it in and teach getattstatistics() in
> backend/utils/adt/selfuncs.c to use it.  That seems to be the only
> place that reads pg_statistic.
> 
> If you wanted to include staop as a third column, then the index could
> be UNIQUE.  (We don't actually use staop at the moment, but I think it
> should be left in place for possible future use.)
> 
> vacuum.c may also need to be taught to fill the index...

Done.  Let me know how it works.  I had to add selop param to the
function getattstatistics() because I needed it to find the cache entry
because that field is in the cache.

Not sure how to test if it is working.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026