All the basics of what you need to know about performance tuning in PostgreSQL has been collected here:

But please remember that performance is a three piece puzzle:

- you need decent hardware
- your configuration needs to utilize the hardware
- your queries need to take advantage of the features that are available.

Looking at one has no use unless you know how the other two are doing (don't tune the average seek time if you don't know what the seektime actually is, don't add RAM if your database is not using the current amount, don't add faster disks when your problem is a sequential scan)