Notes From John Haasbeek on Performance
Take a look at:
http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html
http://www.powerpostgresql.com/Downloads/annotated_conf_80.html
I have kernel.shmmax and kernel.shmall both set to 268435456 in /etc/sysctl.conf. In my postgresql.conf file, I have the following adjustments:
shared_buffers = 16384
work_mem = 262144
max_fsm_pages = 20000
checkpoint_segments = 12
effective_cache_size = 16384
random_page_cost = 3
server_min_messages = warning
You have to stop and restart the postgres process after you edit the postgresql.conf file (and reboot after editing the sysctl.conf file, if you need to).
This is on a machine with 2GB or RAM and the data directory is on a SCSI RAID 0 array. I’m planning to move to 8.1 soon and will let you know if I find any other useful settings