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?

2 Answers 2


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.


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

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.