I've had Greg Smith's new book PostgreSQL 9.0 High Performance for a couple of weeks now, and I've been digesting it bit by bit. The first thing to say is that I think everyone who uses PostgreSQL other than very casually should get this book. This is a book by an expert, and with it you too can become an expert in getting the best out of your hardware and software with PostgreSQL. In 400 or so pages and 16 chapters Greg covers everything from choosing and benchmarking disks and file systems, to server tuning, to query optimization.
The material is dense. This is not a "hold your hands" tutorial for beginners. It's a "get down and dirty under the hood" guide to extracting the most out of your setup. But it doesn't assume that you have very much knowledge. It just assumes that you have a desire for knowledge and a bit of persistence in acquiring it. DBAs should love this book. So should applications programmers.
One thing I liked is that I found very little in the way of inaccuracies. All too often I've found pretty egregious errors in books on technical subjects I happen to know something about. On one occasion, I refused to review a book because I couldn't do so honestly without causing some offence I wanted to avoid. But this book is well written and very accurate, from what I can tell, a tribute both to the author and the highly competent reviewers.
One slightly annoying thing in the actual book production is the treatment of quoted source and output. There's too much line wrapping, which makes SQL hard to read and explain plans almost entirely illegible. I think the latter would probably have been better done as YAML style output, which usually trades width for depth.
But that's a relatively minor nit. Overall, this book is highly recommended. I doubt there is a single PostgreSQL user or developer who could not learn something useful from this book.
So far I haven't heard any reports yet of major mistakes in the text. All of the reviewers involved gave me large amounts of feedback to catch many of them before publication. I'm hoping to get the first round of errata for the few errors that did slip through editing published in the near future. <br />
As for the wrapping on things like the EXPLAIN plans, I did what I could but the results could be improved. Using the YAML version didn't look better enough to me to justify making all of the examples look strange to people using older PostgreSQL versions that don't output that format. Consider that a sort of backwards compatibility decision. Also, suggested analysis tools like explain.depesz.com don't support that format yet. My hope was that serious study of the query planning chapter would be accompanied by people actually running the queries involved themselves, so they'd see the same text on their screen, then tweak the queries and note how it changed.
Thanks for the review. I have also just purchased my own copy in EPUB+PDF.<br />
Probably like everyone else reading this, I use PostgreSQL daily and have no doubt I am going to learn some things. I am looking forward to the read.