About the PostgreSQL Workbook

PostgreSQL performance is a pretty big topic. There are some things you really need to see examples of and try yourself to understand. And that's what I'm doing with this workbook series. Starting with a well documented system configuration, I can lead people through the kinds of tasks I do reguarly, show the results on my system, and suggest how people can run their own tests to properly tune theirs. It's the only way you can get a good grasp of how some of the parts of a PostgreSQL server work well enough to improve their performance.

As for the inspiration for this document, that's a story in itself. Recently I spent seven months doing very little besides PostgreSQL performance tuning. I was struck by three things during this period. First, this topic was moving pretty fast, and most of the useful articles out there were years out of date; you had to dig into the mailing lists (or the source code!) to figure out the current recommended practices. Second, there wasn't any good material out there that actually led people through some of the quirks of the PostgreSQL engine, with write performance being a particular sore point. I couldn't find any source at all for useful benchmarking information focusing on anything other than query workloads.

Finally, I was struck by a sense of deja vu. I'd been though this before, ten years ago: exciting database product, not much performance information around, just lots of mailing list chatter. Back then I ended up writing the definitive (at the time) document on Progress Performance, right before I gave up being a DBA because I'd decided I was only going to work with open-source software for the rest of my career. Return to now, and the most interesting database around is open-source, and one of its most popular platforms is Linux, the software that's been central to generating most of my income over the last decade. When I was able to move from never having seen the PostgreSQL code before to where I could contribute useful patches to the system in a fairly short time, it was obvious this database platform was one I could really enjoy digging into.

Copyright 2007 Gregory Smith. Last update 5/15/2007.