After spending an awesome week in San Francisco, CA I’m lucky enough to be spending another week in the USA, in Portand, OR. The main excuse for showing up here has been OSCON where I presented a talk about the fotolog migration from MySQL to PostgreSQL.

*[Mark Wong]( is doing some serious database crochet work!*

Fotolog is a photo sharing website having more than 32 millions of users sharing more than a billion of photos, which made for a very interesting migration use case. In particular switching from a hand-made MySQL sharding cluster of 37 databases to a fully integrated PLProxy setup on 16 servers hosting each 16 shards, in less than 6 months including complete code rewrite, made things… interesting.

*This image is the missing piece in the slide deck*

While in Portland I also had the pleasure to present a talk at the PGXPUG User Group Meeting, hosted by MyEmma who provided a very nice place, beers and pizzas. Meeting with local users is always a great time, and I’ve presenting the PostgreSQL as a developer talk that I also did for the Dublin User Group, which you can see online at my Dublin User Group conference report page.

*You are already using SQL, make the best out of it!*

Apparently at least one of the attendees really did like the presentation. The angle is to convince developpers to consider SQL really as one of their programming languages, more like they consider Javascript than how they generally consider HTML. And this attendee’s questions where all about how much of the middleware (or model implementation) can we move down to PostgreSQL.

Of course the technical answer is all of it, as demonstrated by apache mod_libpq, wherein URLs are simply transformed into stored procedure calls. Which in PostgreSQL you can implement in basically any programming language you want, like PL/Python or PL/Perl to give but only two examples.