Learning PostgreSQL at the Big Nerd Ranch
I spent last week learning about PostgreSQL at the Big Nerd Ranch, held at Historic Banning Mills, a remote but majestic location less than an hour's drive west of the Atlanta airport. The organizers of the event provided transportation from the airport on Sunday afternoon as well as for the trip back after lunch the following Friday.
The setting was perfect for this type of training. It was peaceful and relaxing, not at all like the training conferences I've been to (in big cities) in the past. The food was fantastic. I can't emphasize this enough. If you go, you'd better go on a diet beforehand, because you're going to gain at least five pounds eating their terrific food. I felt like I was eating at a five-star restaurant all week. The area has cell coverage, but it's not too great. Verizon was the best, but you had to be outside and preferably on the third-floor balcony to get a decent signal. A phone card, on the other hand, proved to be quite handy for me. The lack of cellular service probably was a good thing, however, because no one received distracting cell phone calls during class. The Internet service was by satellite, so it was a bit slow. The organizers y plan to install a T1 line soon though, so this may not be a problem in the near future.
We started each day with breakfast at 8:30. Lunch was at 12:30 and dinner at 6:30. Each day, around 2pm, we took a break from training and took about a 45-minute walk through the woods, exploring the different sites and scenic trails around Historic Banning Mills. This was a good thing, because it helped stave off the afternoon food coma that ordinarily would have set in. It's not quite long enough to burn off the lunch calories, but it's invigorating nonetheless. After dinner, some would go back downstairs to the classroom to work on individual projects with assistance. Others would check e-mail or simply hang around and chit-chat. Others would play pool or watch a movie on the large-screen television upstairs. One night a few of us built a camp fire in the fire pit of an open-air pavilion just up the hill from the lodge. On Tuesday night, we watched the vice-presidential debate on TV and talked politics for a bit.
The training was structured to teach as much about PostgreSQL administration as possible in five days. It even says so on my diploma. There is room for 12 in the class, but only 11 participated in this class. The organizers provided two manuals so we could follow their lesson plans and walk through the related exercises. On the last day of the class, we received a CD with the course materials, slides, documentation and even some photos we had taken during the week. Thanks to the generous (free) licensing of PostgreSQL, the lessons often included the official documentation for commands relevant to that lesson. This was their first time training for PostgreSQL 8.0, which still is in beta, so there were occasional minor mistakes in slides and manuals.
Aaron Hilegass and Chris Campbell were terrific instructors. Each knows PostgreSQL thoroughly and conveyed that knowledge with ease. They played tag-team training throughout the week, each teaching different lessons. The lessons consisted of a 10-30 minute slide presentation, followed by an exercise and a challenge problem to test what we had learned. I usually had time to do everything before we moved on to the next lesson. There were 40 lessons in all, covering everything from how to set up PostgreSQL, psql (the client command-line application) tricks, an overview of SQL, user and group permissions, client authentication, logging, backing up and restoring to a point in time, monitoring the server, query optimization, rules, triggers, replication and much more. On the last day, we wrote some C programs with the libpq library and Perl scripts using Perl DBI. Again, the manual stepped me through everything, so my inexperience in those languages was not a problem.
Each topic was well-researched and thoroughly covered. I was impressed by the depth in which the instructors covered the important topics. For example, a good amount of time was spent explaining how indexes are built and used internally and how to optimize your queries--stuff that good database developers need to know but usually do not bother to learn in detail.
Overall, I'd give the Big Nerd Ranch a ten out of ten. We had a great time and learned a tremendous amount of material in a week's time. This was, without a doubt, well worth the expense. Even though PostgreSQL is free, my time is not, and I'm sure I shaved off a huge chunk of the learning curve by attending this class.
Doug Hall is the primary database developer for AIDT in Montgomery, Alabama. He has developed in-house applications, primarily with 4th Dimension, for the past 13 years.