If your running Linux, and kernel 2.6.x, you can try playing with the:
/proc/sys/vm/swappiness
setting.
My understanding is that:
echo "0" > /proc/sys/vm/swappiness
Will try to keep all in-use application memory from being swapped out
when other processes query the disk a lot.
Although, since PostgreSQL utilizes the disk cache quite a bit, this may
not help you.
On Wed, 2004-11-03 at 15:53 -0500, Tom Lane wrote:
> <stuff@opensourceonline.com> writes:
> > The caching appears to disappear overnight.
>
> You've probably got cron jobs that run late at night and blow out your
> kernel disk cache by accessing a whole lot of non-Postgres stuff.
> (A nightly disk backup is one obvious candidate.) The most likely
> solution is to run some cron job a little later to exercise your
> database and thereby repopulate the cache with Postgres files before
> you get to work ;-)
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
--
Mike Benoit <ipso@snappymail.ca>