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, your hobbies and where you are from.
I am from France, based in Japan. In my spare time, I happen to read a lot of books to focus on something other than work.
Any Social Media channels of yours we should be aware of?
When did you start using PostgreSQL, and why?
I started working on PostgreSQL in 2009, sending some patches to the community, and got involved from 2009 to 2012 in Postgres-XC, a fork of Postgres, shared-nothing clustering solution good for OLTP workloads. Since 2013, I have focused my attention entirely to core Postgres.
Do you remember which version of PostgreSQL you started with?
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
Fluid dynamics, specialized in simulations, at an engineering school called ENSEEIHT in France, where they have several departments including one for IT engineering. This has opened me doors to be able to live in the country where I am now, though I am working on a completely different field (laugh).
What other databases are you using? Which one is your favorite?
Pass. I guess you know the answer.
On which PostgreSQL-related projects are you currently working?
I maintain a couple of extensions on github, like https://github.com/michaelpq/pg_plugins/, and I got to work on the integration of PostgreSQL in products for my current company (HA, backup/restore, upgrades, performance, etc.)
How do you contribute to PostgreSQL?
Hacker, blogger, patch reviewer, patch author and sometimes committer, trying mainly to not anger the community buildfarm. I think that I may have contributed more than 1000 patches to Postgres, from tiny to bigger things, in various areas of the code base. But I don’t really keep track of all that.
Any contributions to PostgreSQL which do not involve writing code?
My blog, and contributions in my company to push more people to contribute to upstream.
What is your favorite PostgreSQL extension?
What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?
We have for a couple of years now a broken shortcut to not produce WAL for a bulkload COPY which is really broken. There are patches to fix that but the problem is really complicated.
What is the feature you like most in the latest PostgreSQL version?
Table AM added to Postgres 12.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
More pluggability for modules, we are still a long way to more pluggable storage, like pluggable WAL.
Could you describe your PostgreSQL development toolbox?
Rxvt, emacs, i3, git, gcc, clang, perf, gdb.
Which skills are a must have for a PostgreSQL developer/user?
For a developer/hacker, git, gdb and perf. For an application developer, few people are really aware of SQL tuning, which is a job by itself.
Do you use any git best practices, which makes working with PostgreSQL easier?
Cherry-pick is good when working across branches. I also use and very much abuse of git log --graph, and got recently in love with diff.orderFile and format.pretty with my own custom tweaks: https://github.com/michaelpq/home/blob/master/.gitconfig
Which PostgreSQL conferences do you visit? Do you submit talks?
Mainly PGcon in Ottawa, few Asian conferences unfortunately. I have been to PGConf Europe and PgConf Russia in the past, and the attendance is very passionate. I try to submit talks when I have interesting topics or things I want to talk about..
Do you think Postgres has a high entry barrier?
Postgres is very old-school when it comes to hacking, with interactions using mailing lists and no actual bug trackers. Newcomers, youngsters or people fan of hyped technologies don’t like that much, making the entrance barrier much harder.
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
Don’t refer to the TODO items in the wiki. Client binaries and extensions always have stuff which can be done, the barrier is lower than the backend.
Do you think PostgreSQL will be here for many years in the future?
Would you recommend Postgres for business, or for side projects?
Both. And I use it for both.
Are you reading the -hackers mailinglist? Any other list?
What other places do you hang out?
Which other Open Source projects are you involved or interested in?
Not really much. I also follow git development, and linux kernel, but that’s limited.