On Wed, May 4, 2011 at 7:10 AM, Mitsuru IWASAKI <iwas...@jp.freebsd.org> wrote: > Hi, > > I am working on new feature `Buffer Cache Hibernation' which enables > postgres to keep higher cache hit ratio even just started. > > Postgres usually starts with ZERO buffer cache. By saving the buffer > cache data structure into hibernation files just before shutdown, and > loading them at startup, postgres can start operations with the saved > buffer cache as the same condition as just before the last shutdown. > > Here is the patch for 9.0.3 (also tested on 8.4.7) > http://people.freebsd.org/~iwasaki/postgres/buffer-cache-hibernation-postgresql-9.0.3.patch > > The patch includes the following. > - At shutdown, buffer cache data structure (such as BufferDescriptors, > BufferBlocks and StrategyControl) is saved into hibernation files. > - At startup, buffer cache data structure is loaded from hibernation > files and buffer lookup hashtable is setup based on buffer descriptors. > - Above functions are enabled by specifying > `enable_buffer_cache_hibernation=on' > in postgresql.conf. > > Any comments are welcome and I would very much appreciate merging the > patch in source tree. > > Have fun and thanks!
It applies and builds against head with offsets and some fuzz. It fails make check, but apparently only because src/test/regress/expected/rangefuncs.out needs to be updated to include the new setting. (Although all the other "enable%" settings are for the planner, so making a new setting with that prefix that does something else might be undesirable) I think that PgFincore (http://pgfoundry.org/projects/pgfincore/) provides similar functionality. Are you familiar with that? If so, could you contrast your approach with that one? Cheers, Jeff -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers