I got an disk array appliance of 8 disks 1T each (UltraStor RS8IP4). It will be used solely by PostgresQL database and I am trying to choose the best RAID level for it.

The most priority is for read performance since we operate large data sets (tables, indexes) and we do lots of searches/scans. With the old disks that we have now the most slowdowns happen on SELECTs.

Fault tolerance is less important, it can be 1 or 2 disks.

Space is the least important factor. Even 1T will be enough.

Which RAID level would you recommend in this situation. The current options are 60, 50 and 10, but probably other options can be even better.


Generally best practices for databases would be to put the database on a RAID 10 or RAID 1, separate from the OS & swap partitions.

For PostgreSQL you may also want to plan on a small, fast RAID 1 for the WAL (pg_xlog) directory to live on, as this will keep the DB from getting bogged down if there are a large number of writes. Also if you think you'll have several high-traffic tables you may want to have separate arrays/spindles for those (putting them into different tablespaces).

How important all of this is depends heavily on your workload, but the above is a good start. The PostgreSQL wiki probably has other good suggestions - see http://wiki.postgresql.org/wiki/Main_Page

  • 1
    +1 for Raid 10 or 1. A battery backed raid controller with caching helps further. – pehrs Feb 13 '11 at 21:27
  • Battery-backed cache us definitely a huge plus. – voretaq7 Feb 13 '11 at 21:50

Gregory Smith recommends RAID 10 in his book PostgreSQL 9.0 High Performance (if you follow the link and click on the button "sample chapter" then you get chapter 2 of the book which covers how to choose your database hardware).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.