Scott Marlowe wrote:
effective_cache_size is pretty easy to set, and it's not real sensitive to small changes, so guesstimation is fine where it's concerned. Basically, let your machine run for a while, then add the cache and buffer your unix kernel has altogether (top and free will tell you these things). If you're running other apps on the server, make a SWAG (scientific wild assed guess) how much the other apps are pounding on the kernel cache / buffer and set effective_cache_size to how much you think postgresql is using of the total and set it to that.
FWIW - The buffered|cached may well be called something different if you are not on Linux (I didn't see any platform mentioned - sorry if I missed it) - e.g for Freebsd it is "Inactive" that shows what the os is caching and "Cached" actually means something slightly different... (yep that's caused a lot of confusion in the past...)
Cheers Mark ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match