The black art of postgresql.conf tweaking - Mailing list pgsql-performance

Can anyone give a good reference site/book for getting the most out of
your postgres server.

All I can find is contradicting theories on how to work out your settings.

This is what I followed to setup our db server that serves our web
applications.

http://www.phpbuilder.com/columns/smith20010821.php3?page=2

We have a Dell Poweredge with the following spec.

CPU: Intel(R) Xeon(TM) CPU 3.06GHz (512 KB Cache)
CPU: Intel(R) Xeon(TM) CPU 3.06GHz (512 KB Cache)
CPU: Intel(R) Xeon(TM) CPU 3.06GHz (512 KB Cache)
CPU: Intel(R) Xeon(TM) CPU 3.06GHz (512 KB Cache)
Physical Memory: 2077264 kB
Swap Memory: 2048244 kB

Apache on the Web server can take up to 300 connections and PHP is using
  pg_pconnect

Postgres is set with the following.

max_connections = 300
shared_buffers = 38400
sort_mem = 12000

But Apache is still maxing out the non-super user connection limit.

The machine is under no load and I would like to up the max_connections
but I would like to know more about what you need to consider before
doing so.

The only other source I've found is this:

http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html

But following its method my postgres server locks up straight away as it
recommends setting max_connections to 16 for Web sites?

Is there a scientific method for optimizing postgres or is it all
'finger in the air' and trial and error.

pgsql-performance by date:

Previous
From: Valerie Schneider DSI/DEV
Date:
Subject: Tuning queries on large database
Next
From: Jeff
Date:
Subject: Re: The black art of postgresql.conf tweaking