Jehan-Guillaume De Rorthais



Tags:   postgresql    high-availability    failover    replication    pacemaker    dalibo    france    linux    powa    explain    astronomy    perl    postgresqlfr   
Category:   Interviews   
Interview conducted 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 from France and living there. I work with PostgreSQL since 2009 thanks to Dalibo.

Jehan-Guillaume de Rortais, Guillaume Lelarge, Carole Arnaud

Jehan-Guillaume de Rortais, Guillaume Lelarge, Carole Arnaud

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

I spend most of my free time with my family, doing usual family things with my wife and kid: cycling, walking, reading books all together, playing cards and board games, etc.

During holidays, I enjoy spending some quiet nights outside, when everyone is sleeping, with my newtonian telescope.

Other hobbies are reading about astronomy, science fiction, listening to various podcasts, watching movies and tv shows, riding my motorbike.

Then of course computing and PostgreSQL and related projects.

Any Social Media channels of yours we should be aware of?

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

I’m currently reading “1984” (the graphic novel by Fido Nesti) and Dune Messiah. But books & mags keep piling up…

Some of my favorite books were:

  • “La horde du contrevent”, Alain Damasio, but I’m not sure if it has been translated to many other languages.
  • “A Deepness in the Sky”, Vernor Vinge
  • H2G2, Akira, V for Vendetta, etc

Any favorite movie, or show?

I like watching movies and shows, but I rarely watch them more than once. It’s hard to pick some favorites… Let’s say:

Films: Blade Runner, Alien, The little shop of horrors, Wall-E, Totoro

Shows: Sherlock, The IT crowd, Watchmen, Le Bureau des légendes, The Expanse

What does your ideal weekend look like?

In the wild or on the road with family or motorbiking to nowhere with friends.

What is the best advice you ever got?

When I was student, my internship tutor said:

It takes many years to build a reputation, but few minutes to destroy it.

We were talking about the team, the quality standard we must achieve in our projects, professional relations and communications.

When did you start using PostgreSQL, and why?

Around 2007 if I remember correctly. I was asked to modernize the IT and fix various bugs in a small company that was entirely running on one MS Access file located in a shared folder.

Do you remember which version of PostgreSQL you started with?

If I remember correctly it was 8.2.

But then, later, as part of Dalibo’s staff, I had to deal with some older 7.2 in the field :-)

Yes, yes, and a little bit, yes. I was a part-time uni-student with some professional projects during the other half of the years. This helped me for the professional experience and some team skills.

What other databases are you using? Which one is your favorite?

Currently None.

I have some past experience with very old versions of MySQL though.

I mostly work on check_pgactivity (monitoring) and PAF (high availability).

How do you contribute to PostgreSQL?

I spend some time digging about suspicious failures, identifying bugs from our customers’ issues, trying to report them, sometimes with a bug fix proposal.

I did a few patch reviews in the past, and I look forward to being able to do some more.

Any contributions to PostgreSQL which do not involve writing code?

It’s been a long time since my last talk or blog post …

What is your favorite PostgreSQL extension?

I would say pg_stat_statements and auto_explain.

Both are very useful when it comes to track some performance regression or unexpected load.

Moreover, pg_stat_statement is the foundation of PoWA, which makes the drill down so much easier and faster. PoWA other related extensions are quite useful too ! kudos to the maintainers, this project would definitely deserve some more light and adoption.

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

Being able to failover replication slot.

And maybe the “EXPLAIN” output could be improved around toast-ed data, or add some more metrics to help understand the data flow through the nodes. For instance, we have the time of the first and last row produced by each node, but it could be hard for a newcomer to understand when each node actually begins its work before producing the first row. I actually had a toy-patch about this, while I was studying how we could improve the PEV2 representation of a plan.

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

Each major release is impressive. If I had to pick one in 14, I would say the parallel foreign table scan. But I like the idea of being able to detach a partition in a non-blocking manner as well.

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

It’s not possible today to do an online-demote of a production instance to standby. It’s the first step toward a graceful switchover between two replicating nodes.

I actually tried to study how feasible it would be, sending some patches and updates about my research. But it was not mature enough to hold enough attention back then.

Moreover, there was the “ALTER SYSTEM READ ONLY” patch ongoing at the same time back then. I’m not sure what’s the status of this patch now. It’s been a while I couldn’t keep up with pgsql-hackers, but I planned to review it if I could.

Could you describe your PostgreSQL development toolbox?

I’m using Geany and Vim as editors, gdb & rr, bash, perl, psql for quick scripting and tests.

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

Patience, rigorous, skilled with debugging tools, good communication skills on mailing lists.

Do you use any git best practices, which makes working with PostgreSQL easier?

I’m using worktree, and commands like stash, blame, bisect and archive. git is so useful.

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

I’ve been to PGCon, a long, long time ago. I look forward to being able to go back there. I sometimes attend PGConf.EU or pgDay FR and have done some talks there in the past.

But I mostly enjoyed some local meetups in Paris or Nantes in France over the past few years.

Do you think PostgreSQL has a high entry barrier?

Having trained a lot of people on PostgreSQL, from a DBA point of view, no. Anyone having some experience with other professional SGBD, will feel comfortable with PostgreSQL. Some may even love it :-)

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

I will not be original, but review patches, follow discussions you are interested in, make comfortable with some effective tooling to compile/test your work, ask questions and try answering questions.

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

I’m sure.

Beside the relatively fast development of the core, new features, various improvements and performances optimization, the community has been able to keep the strong technical foundations, choices and spirit that make PostgreSQL so robust, clean, “easy”, so extendible and trustfully.

Thanks to this, the user and professional adoption of PostgreSQL keeps growing, with more and more companies backing it, and hopefully contributing to it, one way or the other.

Would you recommend PostgreSQL for business, or for side projects?

I recommend it for anything from business to side projects.

Are you reading the -hackers mailinglist? Any other list?

Unfortunately, not anymore for a year or so. I hope I’ll get back to it soon.

I’m reading the package lists, -general, -fr-generale, -announce and -advocacy.

What other places do you hang out?

Clusterlabs and PostgreSQL mailing lists.

IRC, on libera.chat: ioguix

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

Clusterlabs/Pacemaker

Anything else you like to add?

PostgreSQL is a good project and community to learn, share, work and make friends. Thank you to the whole PostgreSQL community for the ride so far.

And thank you for your patience Andreas :)