Étienne Bersac



Reading time: 9 minutes

Tags:   postgresql (141)   cooperative (2)   dalibo (8)   development (6)   family (5)   france (17)   friends (5)   git (3)   emacs (1)   opensource (16)   python (7)   temboard (1)   scotland (2)   breton (1)   go (1)  
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.

My name is Étienne BERSAC, I’m a 37 years old French man living in a small village of Périgord, France. I’m married and raising 3 young children.

I’ve been a software engineer at Dalibo for 5 years. I’ve been developing software for about 20 years.

Étienne Bersac

Étienne Bersac

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

I avoid screens outside of work. Apart from family and fixing our house, I’m a Breton bagpiper playing for my village with a friend drumming. I’m an Adult Fan of Lego (AFOL), building old ships with bricks and farm machines with Lego Technic. I used to be a volunteer firefighter but I’m suspended by the vaccine mandate.

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

For tech people, I would recommend Bash Pocket Reference by Arnold Robbins. It’s the only technical book I found to be useful years after buying it.

La belle histoire de FAVI by Jean-François ZOBRIST is very inspiring. It’s about a small machining company reinventing Agile management using their own local culture. Lean Enterprise by Jez Humble is also enlightening. I was used to Scrum and found that Lean has a larger picture of how a tech company works.

I’m not a big fan of self development, but I learn a lot of things from Dale Carnegie and Tal Ben Shahar. I would recommend Being Happy: You Don’t Have to be Perfect to lead a richer, happier Life by Tal Ben Shahar. The title of the French translation is better : Learning imperfection.

I’m often surprised by how old books can still be so relevant, like Rovering to Success by Lord Robert Baden-Powell of Gilwell or Le Désespéré by Léon Bloy.

I’m a big reader of quarterly journals, with very long articles. It’s a bit in between books and daily news.

Any favorite movie, or show?

I love a lot of movies. I would suggest Ostrov by Svetlana Rodina about a man redeeming his life. Marie Heurtin by Jean-Pierre Améris is really touching one heart deeply, it’s about a nun helping a blind, deaf and dumb girl. Also Tree of Life from Terrance Malik. Terrance’s movies are like walking through a museum meditating with beautiful images, music, and words.

What does your ideal weekend look like?

At home or nearby, without anything to do. Just taking time for God, me, my family and friends ; piping bagpipe, reading books, helping others, taking care.

And what do your ideal holidays look like?

With my family in Bretagne, French Brittany. Dancing with traditional music. Enjoying nature and local foods. Visiting family and friends. Giving help to a local association.

What’s still on your bucket list?

Moving to Go. I have been developing with Python for 15 years. Python was once a very good choice for building system tooling. But the developer community is very focused on app development and machine learning which has far less stability concerns than the database world. Writing Go is very refreshing.

Oddly, I consider that I will leave this world with tons of things to do. And the world will still spin around very well. Thus I tend to not bother with a bucket list.

What is the best advice you ever got?

For tech, reading How to ask Question in the Smart Way by Eric S. Raymond taught me hacker netiquette, which is very close to UNIX philosophy.

A colleague of mine once told me the French motto of artisan : “Ce qui mérite d’être fait mérite d’être bien fait” : What worth being done is worth being well done. This may sound perfectionist, but actually, this sentence helps me take the time because I’m somewhat impatient.

When did you start using PostgreSQL, and why?

I started using PostgreSQL at university in 2006. The professor was Michel Sotto. I remember the first exercises he gave: UNIX command line fundamentals. Then we dived into PostgreSQL as a SQL user using psql.

My first employment was Nerim ISP in 2008. We used PostgreSQL heavily, and high level column types were so helpful to manage IP, networks, phone numbers, etc. MySQL was very infamous there.

I spent 5 years in university for a license of Math and Computer science. Most of the knowledge was so basic that you can’t even build a side project with. The only single teaching that still helps me today is Relational Database by Michel Soto. This course teached me the power of RDBMS, what an app should delegate to RDBMS, the importance of data integrity, etc.

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

Sometimes I use SQLite. It’s very handy. D. Richard Hipp is an awesome guy. I never used any proprietary RDBMS.

I never feel comfortable with NoSQL databases. I need a strong schema with a JSONb field for data without critical performance concerns.

PostgreSQL has always been my favorite since 2006, because of the SQL compliance and coverage.

Dalibo hired me to work on PostgreSQL tooling. My main projects as of now are temBoard, a remote control for PostgreSQL and ldap2pg, a tool to synchronize roles and privileges from a LDAP directory.

What is your favorite PostgreSQL extension?

For DBA, auto_explain is very important. I love PostgreSQL system views, but logs are still the source of truth for anything.

For developers, PostgreSQL Anonymizer allows building privacy right in your schema. Having privacy by design is very rewarding.

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

PostgreSQL does not annoy me. I like system views and system admin functions. Please give more!

Could you describe your PostgreSQL development toolbox?

I tend to balance comfort and portability of my toolbox. Training my muscles must not prevent me from being at ease on other’s computers. I mean that having a wonderful toolbox but so weird that you can’t do anything once you get access to a server is a bad idea. For example I never change keyboard shortcuts and never use shell aliases.

I’m using bash, with powerline.bash prompt and direnv. I edit code with GNU Emacs configured with Doom Emacs. Henrik Lissner is doing a great job with the community. I use Brave browser because of the good defaults for privacy, the good performance and for the people behind it, namely Brendan Eich. I deploy my dotfiles with Ansible playbooks.

I’m a big user of Docker and Docker Compose. I used Docker Compose when it was a third-party project named fig back in 2014, thanks to Florent PIGOUT who shared this project with me.

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

Being patient, curious and methodic. Also, being supportive to others. Beware of perfectionism. DBA world has a bias toward perfection, so we should be careful.

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

Never use git without a shell prompt clearly indicating the state of git: branch, rebasing, changes, conflicts and upstream synchronization. Use magit but you still must be comfortable with the git CLI.

I have an opinionated handling of remotes. I set up the origin remote to HTTPS URL of the main repository, readonly. Then I name other remotes with the namespace of the fork. Then configure git branches with origin/master as upstream and my fork as push remote. For example, I have origin remote pointing do dalibo/temboard and bersace remote pointing to my personal fork bersace/temboard. This way I can configure remotes of contributors with the same naming policy.

Finally, If your commit message is very long you may need to add comments in your code. Commit message is good for communication, not documentation.

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

I attended PgCon once and I’m eager to attend again. Usually, I attend pgDay FR by PostgreSQL France, and PGSession organized by Dalibo. I also appreciate FOSDEM PGDay organized by PostgreSQL Europe.

I rarely submit talks, mostly boring and technical ones. I like lightning talks, this is a very easy way to contribute to a conference. I even gave one at PgCon 18. I wasn’t self-confident at all but the community is very welcoming.

Do you think PostgreSQL has a high entry barrier?

I would not say high. As a user, I discovered SQL with PostgreSQL and it was super easy to get things right. PostgreSQL is very consistent, reliable and well documented.

For DBA, the barrier to master PostgreSQL is not that high for such technology. The documentation and the community is excellent. I’m lucky, I have a big team of DBA masters at Dalibo. It’s always a pleasure to ask them questions about both SQL and internals.

I once contributed to Linux Kernel development. Thus I feel like contributing to the PostgreSQL code base is usual for such a project. Actually, the code base of PostgreSQL is so clear that I don’t feel the barrier is relatively high. The high quality of PostgreSQL code is impressive for an old code base like this with so many contributors.

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

Recently, someone shared that technology life expectation is the same as their lifetime until now. This gives PostgreSQL a life expectation of more than 25 years. I wish I’ll still be working for PostgreSQL at this time.

As long as SQL is relevant and PostgreSQL keeps its quality, it will last very long. What may kill PostgreSQL is feature creep making it unstable and too complex to operate. Also, beware of GAFAM and new ways of locking in free software.

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

I maintain a fast prompt for bash, called powerline.bash. It has the same performance as the great starship.rs but in a single bash file of less than 2K lines of code. Source it and you’re done. I’m especially satisfied by the docker prompt segment which exposes the state of your docker compose project.

Anything else you like to add?

Thanks for this interview. The DBA community is very warm and welcoming, especially in France. People love their work and are passionate about the tools they use. I’m thankful to Dalibo for making me a member of this community for more than 5 years now. Thanks for reading ! Take care and God bless you !