38 of 38 people found the following review helpful:
3.0 out of 5 stars
a very comprehensive book, January 31, 2007
This book lives up to it's claims for "the comprehensive guide to building, programming and administering postgresql databases". I'm a MySQL guy, but may have to do a little pgsql to support a third party app, so I was looking for a book that would bring me up to speed.
The quick review is this... I give this book 3 stars, because it's so huge and covers so much territory that, in my opinion, it does a middling job of it. I would have preferred a more focussed book. I think, given it's goal of being so comprehensive, it is about as good as it could be and if you really need to know everything - from sql, to developing extensions, to embedding this in your c/c++ programs and administering things AND want a single book that covers it this is probably the book for you. If you don't need quite that much, or are willing to go to more than one book to get it, I think you would be better served to look elsewhere.
The longer review...
Honestly, I don't know why books on databases almost invariably are terribly dry reads, but this book, following the odds, falls into that category. It's a hefty tome weighing in at about 1000 pages divided into 3 sections.
The first category, about a quarter of the book, is an introduction to sql and postgresql in particular. It does quite a nice job of introducing your standard sql commands, datatypes and basic administrative commands (like creating tables and the like). This part goes from basic to fairly advanced, covering topics like outer joins and creating new datatypes. I suspect it'll be review for those familiar with sql but reasonably usable for those delving into sql, even if they don't immediately understand all of the more advanced concepts.
The section ends with a chapter on performance, something I was particularly interested in given postgresql's reputation. Here the authors talk about standard performancy things like indexes, using various tools to figure out what a particular query is actually doing, all worthwhile. But they never go into any detail about the performance implications of using some of the more advanced postgresql features like composite types and table inheritance. I was quite disappointed to find not even a whisper of this type of information in the book.
The second section, about half the book covers programming with postgresql. This is a very broad chapter - covering many aspects of what it means to program this database. From server side programming using PL/pgSQL to extending the database with custom functions and types. They discuss creating clients in c, c++, java, perl, php, tcl, python and .net. Each one of these languages gets a chapter about 30-50 pages long where they go over the basics of how that language typically connects to the database and then goes through a process of creating a basic client and refining over the course of 4 or 5 iterations to become more and more robust and full featured. This is the bulk of the book and because it's so wide spread, I think most people will only be interested in one or two of these chapters - the rest of which will probably be uninteresting.
The last section is the final quarter of the book where they go over the administrative requirements of the database. They admirably try to direct people to download and compile their own binaries, but cover installation from binary on unix and windows. They have an excellent reference on the things you can tweak to configure the runtime environment. They also cover backing up the database, replication, internationalization and security. Although they mention performance optimization in the intro to the section, they don't actually discuss it anywhere in the section.
So, to sum up. If you really need to know about all aspects of pgsql and are looking for a one stop shop, this book is - I think - as good as you're going to find. But if you're looking into only a particular aspect (developing, administereing, etc..) or don't mind going to more than one, I feel confident that there's other books out there that will cover those topics in better detail.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
36 of 42 people found the following review helpful:
1.0 out of 5 stars
Many trees died in vain, December 11, 2005
This "complete reference" is a total mess. It took quite a while to find out how to stop the server otherwise than by "kill" command, because "Server startup and shutdown.....779" refers to a text block which says that "we'll explain it in the next chapter".
Also, buying a tome of 1000+ pages, you would probably (and rightfully) expect to find a complete syntax reference to such essential commands as CREATE TABLE. I didn't find one! There is only a brief introduction to the basic syntax.
Normally, books of such volume contain several appendixes in the end, like "PostgeSQL syntax", "Perl API syntax", etc. Not in this one.
The bottom line is, buy "Beginning databases with PostgreSQL" by Neil Matthew and Richard Stones. This book will get you started quickly and painlessly. This book is a bit over 600 pages, and is very clearly written.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
19 of 22 people found the following review helpful:
4.0 out of 5 stars
Surprisingly advanced, April 27, 2004
This review is from: PostgreSQL (Paperback)
I was surprised at how advanced this book was. It starts with the usual introduction to basic SQL access to PostgeSQL, then has a two chapters on data types and syntax, and then jumps straight into performance and extensions stuff. It then covers PL/pgSQL. The majority of the second section of the book is examples of writing for Postgres with various programming languages (e.g. C, C++, Java, Perl, PHP, Python, etc.)
I liked the advanced content, but I was looking for a book on Postgres basics. So I don't think I got the right thing. My advice to you is, check out the table of contents, and make sure you are getting the content you need. If you are looking for a basic Postgres reference, this is not going to have much content for you.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No