Skip to content

{ Author Archives }

PuppetCamp 2010

I’m off to PuppetCamp this week, October 7th and 8th at the City Club of San Francisco. Hopefully there will be some interesting conversations with others in charge of non-trivial, multi-site, multi-environment puppet systems.  At PowerReviews, we rely heavily upon puppet for automation and I’m hoping to pick up a few new tricks. We just [...]

Tagged , , ,

There are no shortcuts

Once upon a time, I was playing golf at chimney rock in Napa.  The course has been replaced by a vineyard now.  But I remember playing a round with my brothers.  I’m not a very good golfer and I have a hook and a slice.  One of the holes had a sharp dogleg left around [...]

Tagged ,

Postgresql 8.4.3 upgrade troubles

I recently upgraded several of postgres DB server to the latest version 8.4.3.  The process was pretty simple for the 8.3.x clusters. Make a copy of the postgres configuration files. cp /var/lib/pgsql/data/*.conf /tmp/. pg_dump each DB instance in plaintext format: pg_dump -d dbname -Fp -o ./dbname.dmp.sql Stop postgres: pg_ctl stop Configure the new pgdg yum [...]


Database Schema Migration Tool

I have been working on database schema migration tools lately. We have 25+ database instances spread across 7 servers and sometimes it can get difficult to track which SQL changes got run against each of the databases (especially in the development environments). First I surveyed some of the existing tools.  I looked at Rails Migrations, [...]

Tagged ,

SQL Hacks

Most of my SQL is usually something along the lines of: CREATE TABLE …. DROP DATABASE …. But recently I have been working on a report that has been causing some trouble. The report issues a large SQL query for each of our partners and then a fancy perl script filters, sorts, aggregates, and formats [...]

Tagged , , , ,

Books I Have Been Reading

I just finished Wisdom of Crowds by James Surowiecki & How to Lie with Statistics by Darrell Huff. The first book was a very accessible read on the subject of Behavioral Finance which I have always found fascinating. (Basically prices in the stock market don’t reflect necessarily reflect the true value of any particular security. [...]

Export to Stone Tablet

We have been trying to come up with a reliable backup solution for our laptops. Our users connect via a mix of wi-fi and cabled connections and they move around a lot often attending multiple meetings per day. A CDP (Continuous Data Protection) product would be perfect for our needs but the products I have [...]


Londiste process dead this morning

I came in this morning and found that the londiste replay job that replicates into our disaster recovery database had silently failed. The process was still running. Replication lag was over 11 hours at that point so that implies that something strange occurred at 10 pm last night. The postgres logs for the DR database [...]

Tagged , ,

Londiste Memory Usage

During our last major software release we made a pretty massive schema update to the primary postgres database. We pulled several columns out of one of our core tables and moved them into a separate table. We added triggers, dropped tables, added columns, etc. After all the dust had settled one of the lead developers [...]

Tagged , ,

Reinventing the Wheel

Last month we reinvented postgres table partitioning. Last year we reinvented cacti. We probably have our own string class. There is so much to knowledge to assimilate that it is practically impossible for a software engineering team to NOT reinvent the wheel. They cannot possibly know their entire subject domain inside and out. Also engineers [...]