The modern calendar is a trap for the young engineer’s mind. We deal with the calendar on a daily basis and until exposed to its insanity it’s rather common to think that calendar based computations are easy. That’s until you’ve tried to do it once. A very good read about how the current calendar came to be the way it is now is Erik’s Naggum The Long, Painful History of Time.


Business logic is supposed to be the part of the application where you deal with customer or user facing decisions and computations. It is often argued that this part should be well separated from the rest of the technical infrastructure of your code. Of course, SQL and relational database design is meant to support your business cases (or user stories), so then we can ask ourselves if SQL should be part of your business logic implementation. Or actually, how much of your business logic should be SQL?


Sometimes you need to dive in an existing data set that you know very little about. Let’s say we’ve been lucky to have had a high level description of the business case covered by a database, and then access to it. Our next step is figuring out data organisation, content and quality. Our tool box: the world’s most advanced open source database, PostgreSQL, and its Structured Query Language, SQL.


How to Write SQL

Kris Jenkins cooked up a very nice way to embed SQL in your code: YeSQL for Clojure. The main idea is that you should be writing your SQL queries in .sql files in your code repository and maintain them there.

The idea is very good and it is now possible to find alternative implementations of the Clojure yesql library in other languages. Today, we are going to have a look at one of them for the python programming language: anosql.

A recent interview question that I had to review was spelled like this:

Find missing int element into array 1..100

Of course at first read I got it wrong, you have only one integer to look for into the array. So while the obvious idea was to apply classic sorting techniques and minimize array traversal to handle complexity (time and space), it turns out there’s a much simpler way to do it if you remember your math lessons from younger. But is it that much simpler?

PostgreSQL Conference US took place in New York City and I had the pleasure to be a speaker there. I presented there a talk about why You’d Better Have Tested Backups. The important bit is that backups are not interesting, recoveries are. Also the only way to make sure a backup is successful is to be able to use it for recovery.


Le 21 avril prochain se tient le premier pgDay Paris: une conférence PostgreSQL d’une journée complète. Il s’agit de 8 conférences sur votre base de données préférée par des conférencers internationaux, incluant des retours d’expérience et une analyse de l’utilisation des derniers développements en cours dans notre projet de base de données préféré.


Dimitri Fontaine

PostgreSQL Major Contributor

Open Source Software Engineer

France