Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently running a PostgreSQL Database with about 1.5 billion rows / 500 GB of data (including indices). There are several schemata: on for the (read only, irregular changes / updates) 'core-model' and one for every user (about 20 persons). The users can access the core and store data in their own schema, so everything is located in one database.

The server runs with CentOS and PostgreSQL 8.4 and is used for scientific studies, exploration etc and is running quite well.

These days an upgrade of the DB storage hard disks arrive - all with the same performance as the old ones.

I'm looking for the best way to distribute the data on these disks. It would be possible to separate frequently used objects (the core-data) from the user schemata, but I'm not sure if this is really worth the effort.

It seems to be a much better idea to move the WAL files (pg_xlog directory) to its own partition.

What are your opinions? Are there any tablespace- or partitioning-related performance documentations / benchmarks?

share|improve this question
up vote 2 down vote accepted

Definitely more important to move the WAL files if you haven't already done so. Don't start moving individual tables until you have to - especially if the speed of the disks are more or less equal.

share|improve this answer

Separating WAL is definitely the best way regarding cost-benefit ratio.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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