Damien Clochard

Tags:   postgresql    pg day    data masking    anonymization    dalibo    france   
Category:   Interviews   
Interviewed by: Andreas Scherbaum

PostgreSQL is the World’s most advanced Open Source Relational Database. The interview series “PostgreSQL Person of the Week” presents the people who make the project what it is today. Read all interviews here.

Please tell us about yourself, and where you are from.

I’m Damien Clochard, I live in France and I’m the president of PostgreSQLFr, the French Speaking PostgreSQL association. I’m also one of the founder of Dalibo, a French PostgreSQL company and one the sysadmins behind the www.postgresql.fr platform.

Damien Clochard

Damien Clochard

How do you spend your free time? What are your hobbies?

I try to spend my free time away from computers :-) I’m involved in various local associations: a community garden and vineyard, a Fab Lab, a waste reduction initiative, etc.

Last book you read? Or a book you want to recommend to readers?

I‘m reading “Les couilles sur la table” which is a great introduction to feminism, especially for men. The book is in French but the author has also published some podcasts in English

YouTube: Ce que le patriarcat fait à l’amour | In English

When did you start using PostgreSQL, and why?

My first contact with Postgres was in the late nineties at the university. I must admit that I did not liked it at first :) At the time the MySQL user experience was much more appealing and I kind of passed in front of Postgres without really noticing all its potential… I rediscovered Postgres a few years later, when the version 8.0 was released

I am spending a lot of my time on an extension called “PostgreSQL Anonymizer”, which is designed as a «toolbox for privacy». The main idea is to hide sensitive information by declaring a set of “masking rules” using the SQL syntax.

I think that privacy is a major challenge for the next decade and PostgreSQL has an important role to play in this field… Being the best open-source database is not enough, we also need to build features to help database administrators in implementing the GDPR rules and other protecting regulations.

How do you contribute to PostgreSQL? Any contributions to PostgreSQL which do not involve writing code?

I am active at various levels in the French community…. I do a bit of system administration for the www.postgresql.fr platform and of course as president of the PostgreSQLFr association, I get a fair amount of administrative tasks and paperwork :-)

Right now I am focusing on helping grow the French PostgreSQL Enterprise Workgroup. This is a dedicated tasks force composed 20 major French companies willing to share feedback, contribute to PostgreSQL and promote the use and adoption of PostgreSQL by software editors.

What is your favorite PostgreSQL extension?

It’s not really an extension in itself, but I think that multicorn is a great demonstration of the power of PostgreSQL.

What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?

This may seems weird but I really hate the word “cluster” because it can have so many different meanings depending on the context. I saw recently that the term “instance” has appeared in the official documentation and I really wish this word will catch on…

Other than that, I think that as a community we should be more protective of the PostgreSQL brand because it is now a very recognized and trusted symbol. We’re now seeing proprietary products or cloud services that try to exploit the power of the PostgreSQL brand. The best exemple is Amazon’s “Aurora Postgres” which has a very confusing name…. I talked about it with a lot of PostgreSQL users, and most of them think that it is just a variant or a fork of Postgres. In reality, Aurora is a completely different software, Amazon just placed a compatibility layer in front of it… Implying that Aurora Postgres is based on Postgres is clearly misleading. To me, it’s an abuse of the brand.

Being an open-source community does not mean that we have to let anyone put our brand on anything…. Other projects such as Firefox or OpenStack are doing a great job in this area and I think we could be more protective to avoid unnecessary confusion for Postgres end users.

What is the feature you like most in the latest PostgreSQL version?

Based on the feedback of the customers I work with, I would say that REINDEX CONCURRENTLY was probably the most awaited feature of PostgreSQL 12

Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?

I know it’s easier said than done, but I really would like some sort of “recursive writing rules” where we could intercept a SELECT query on a table and applying filters to the columns of the same table. This would be very helpful for PostgreSQL Anonymizer.

Alternatively I would be interested by something similar to Row Level Security but for columns. The idea would be to declare a filter for the column based on the current_user… Something like:

CREATE COLUMN POLICY partial_phone_number ON customer.phone_number
 USING (phone_number = ‘*******’ || right( phone_number ,2) )
 WHERE current_user = ‘bob’;

Could you describe your PostgreSQL development toolbox?

I am a simple man, I use vim and tmux :-)

For testing and managing an open-source project, I think that GitLab provides a powerful open source alternative to GitHub.

Which skills are a must have for a PostgreSQL developer/user?

I like to say that a good database administrator must have a conservative mindset while being curious, open-minded and constantly looking for new ideas….

Which PostgreSQL conferences do you visit? Do you submit talks?

I avoid taking planes as much as possible so I only attend conferences in western Europe. I submit talks from time to time but mostly I am involved in the PG Day France organization since 2008 and this is where put most of my efforts.

Do you think Postgres has a high entry barrier?

Yes compared to other databases, Postgres is more difficult at first. This is mainly because other products have a more streamlined user experience. For each major task (backup, HA, tuning, GUI, etc.) they have one “go-to tool”. On the contrary, the PostgreSQL ecosystem is so rich and dynamic that new users have an overload of choice! Right from the beginning, they have to invest a lot of energy to try and select the tools they will use to save their data, monitor their instances, etc.

What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?

Writing code is probably not the first thing I would recommend. There are many other ways to contribute to the project. You can translate the documentation in your own language, provide help on forum and mailing list, write articles and blog posts, organize a local meetup, etc.

Contributing to the PostgreSQL code base is a good thing of course but right now as a community what we need most is connecting with the user base, attracting new users and lowering the learning curve.

Do you think PostgreSQL will be here for many years in the future?

Yes of course. PostgreSQL is more or less in the same position that Linux had 15 years ago. We’re basically becoming the de facto standard for data management. In my daily job, I see major French companies moving towards PostgreSQL as the default choice and it will stay that way for many years to come.

Which other Open Source projects are you involved or interested in?

I did some small contributions to pandoc, an amazing document publishing tool. I am also maintaining a «battery included» docker image for pandoc named “pandocker”.