Hi All,
I have recently started evaluating Postgresql 7.4.2 to replace some *cough* more proprietary database systems... Thanks to the _excellent_ documentation (a point I cannot overemphasize) I was up and running in no time, and got a first test application running on the native C interface.
In no official capacity whatsoever, welcome aboard.
There is just one point where I found the documentation lacking any description and practical hints (as opposed to all other topics), namely that of how to tune a setup for maximum performance regarding the layout of partitions on hard-disks and their mount options.
I'm not a Sun user, so I can't give any OS-specific notes, but in general:
- Don't bypass the filesystem, but feel free to tinker with mount options if you think it will help
- If you can put WAL on separate disk(s), all the better.
- The general opinion seems to be RAID5 is slower than RAID10 unless you have a lot of disks
- Battery-backed write-cache for your SCSI controller can be a big performance win
- Tablespaces _should_ be available in the next release of PG, we'll know for sure soon. That might make life simpler for you if you do want to spread your database around by hand,
What I should add is that reliability is a premium for us, we do not want to sacrifice integrity for speed, and that we are tuning for a high commit rate of small, simple transactions...
Make sure the WAL is on fast disks I'd suggest. At a guess that'll be your bottleneck.
For more info, your best bet is to check the archives on the plpgsql-performance list, and then post there. People will probably want to know more about your database size/number of concurrent transactions/disk systems etc.
HTH -- Richard Huxton Archonet Ltd
---------------------------(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