PostgreSQL and open source contribution insights - Podcast
Episode 2 of Change Mode! Sit down with us as we chat with Lætitia Avrot, Practice Leader, Postgres and Security at EBD, Postgres Europe Treasurer, and founder of Postgres Women. Lætitia shares her journey in building such an impressive resume, her thoughts on why developers need to get better with databases, and provides insider insights on the Postgres community—including SQL norms, how to submit your feature, and when to expect the next update.
Podcast transcript
We utilized ChatGPT to enhance the grammar and syntax of the transcript.
Marine: I'm very excited to talk to you today because I've been following you for a few years now and I'm excited to talk about your work. First of all, do you want to introduce yourself in a few words?
Laetitia: Yes. My name is Laetitia Avrot. I'm French, and I work at EDB as a field CTO. EDB is a company providing products and support for Postgres and has the highest number of Postgres contributors on their team. I’m a recognized Postgres contributor, the PostgresQL Europe treasurer, and the founder of Postgres Women.
Marine: Wow. Impressive resume. So, what do you do exactly? I know you're now a field CTO, but your job title used to be more like DBA, right?
Laetitia: No. My job title was consultant, database consultant. I was a senior database consultant, then I became an architect, and now I'm a field CTO. As a field CTO, I help my customers' CTOs understand the implications of their choices. I don’t make decisions for them, but I help them understand what their choices mean.
Marine: Okay. But still in the database field?
Laetitia: Yes. I’m dedicated to databases and Postgres.
Marine: What does a database admin do in general? As a developer, I've always worked with databases, but not on projects big enough to require someone like you.
Laetitia: A database administrator’s job often happens in the shadows. If everything works smoothly, it means the DBAs are doing an amazing job. There’s a special day, the first Friday of July, called DBA Appreciation Day, where you should thank your DBAs. Most of the time, people only notice DBAs when there's a performance problem.
Marine: It just works. That’s amazing. I'll remember that for sure. So, I was wondering about your journey. How did you get into Postgres? Did you do specific studies?
Laetitia: I attended an IT engineering school in Lyon. After graduation, I was hired because I could communicate with both IT and non-IT people. They put me in support, where I identified bugs and ran big queries to fix data issues. One significant moment was when a customer claimed we overbilled them by €5,000,000, but it turned out we underbilled them by €10,000,000, so they owed us €5,000,000.
Marine: Intense. So that’s when your passion for good database structure was born?
Laetitia: Yes, during my engineering school years, I had intensive courses on databases. After working as a support engineer, I moved into development and discovered Postgres. I was asked to develop a function in C to find a French term name even if it was misspelled, which was fun.
Marine: Why did you stick with Postgres? What’s different about it?
Laetitia: Postgres is stable. You can have an uptime of 10 years without any problem. It’s reliable, similar to how Linux is to operating systems.
Marine: I remember the first time I saw you speak, I realized I knew nothing about databases. Developers often know superficial stuff and use ORMs, which you said are bad because you should know what’s happening inside the black box.
Laetitia: Yes. ORMs generate code of varying quality, similar to how FrontPage generated HTML. It’s that bad. You should know how to write SQL yourself.
Marine: Ouch. Sorry, ORM. So we need to know how to write SQL ourselves, right?
Laetitia: Yes. Even I found myself saying I knew nothing about SQL when I tried to solve the Advent of Code in SQL. It was hard, but I was proud to have gathered half the stars.
Marine: That’s impressive. I always give up after two days. You mentioned Postgres is good at implementing the SQL standard. Can you explain that a bit?
Laetitia: The SQL standard originated in the late 80s, created by Oracle and IBM to standardize SQL. Like HTML standards, no RDBMS implements it 100%. Postgres tries to be as close to the standard as possible, but sometimes it’s difficult or the standard is impractical.
Marine: Interesting. So, did you look at the new SQL standard release?
Laetitia: The standard is expensive (€400), so I rely on free draft versions online. Postgres aims to comply with the 2016 standard, which is already good. Remember, if you learned SQL at university, you probably learned only a small portion of what SQL can do.
Marine: Did you look at the new standard? Any exciting changes?
Laetitia: No, but the standard evolves every few years. It’s a standalone set of books, not an additional layer.
Marine: Can anyone join the SQL standard committee?
Laetitia: It’s not easy. You have to know the standard well. People like Markus Winand, an SQL international expert, compare how well different RDBMS adhere to the standard.
Marine: So how does governance work in Postgres?
Laetitia: Postgres is a true open-source project with no single company behind it. Many companies contribute, including mine, which is responsible for one-third of the changes in the latest release. We have no project owner or manager. Decisions take time because a patch needs several approvals and no disagreements.
Marine: How do companies support this?
Laetitia: Companies often give free time to their employees to contribute. Some people, like myself, started contributing on their own time. Postgres is written in C, and though it’s not my favorite language, it’s well-written and understandable.
Marine: How can developers suggest changes or offer patches?
Laetitia: We’re not on GitHub or GitLab. We have our own git at git.postgresql.org. If you want to suggest a change or report a bug, the documentation explains how. For patches, you send a plaintext git diff to the public mailing list with documentation.
Marine: That’s old school. Is there a template for presenting patches?
Laetitia: Yes, anyone can join the mailing list, but it’s very active with technical discussions. Instead, I suggest going to Commitfest, which happens several times a year. During Commitfest, people review patches already written. It’s not a strict code freeze, but we have a feature freeze in April to ensure stability for the major release in October or November.
Marine: That’s a strict process. What’s the release cycle?
Laetitia: We don’t have strict deadlines, but we release in April, and the major version comes out in October or November. We aim for minor versions every quarter.
Marine: How many people contribute actively?
Laetitia: Thousands are involved, but around 100 contribute the most. Contributors come from all over the world, with many from the US, Russia, Japan, India, and Europe.
Marine: You founded Postgres Women. Can you tell us about it?
Laetitia: There aren’t many women in the Postgres community or the database world—around 5%. I want to show that Postgres is a safe place and help women attend events, which are important for technical learning and networking. My goal is to get more women on stage, as it’s important for their careers and personal growth.
Marine: That’s a great plan. I’ve seen you on stage, and you’re an impressive speaker. You’ve spoken at various conferences, not just Postgres or database conferences.
Laetitia: Yes, I try to step outside my comfort zone and attend other events, but Postgres events are still the majority. I’ve spoken at AFIP events for the French PHP community and MixIt in Lyon, among others.
Marine: How about the relationships between different projects? Does the Postgres community mix with others?
Laetitia: There is some relationship between the HCD community and the Postgres community, but generally, people tend to stick to their communities. My first DBA job involved managing three RDBMS: Postgres, SQL Server, and Oracle. It’s challenging to switch contexts between different systems.
Marine: Do you contribute to any other communities or open-source projects?
Laetitia: I don’t contribute code to open source because it takes time to dive into the code. I help with Cloud AIPS, women in IT associations, and the Avro project.
Marine: You mentioned you have two children. How do you manage everything?
Laetitia: Each time you have a child, you realize how much free time you had before. I enjoy the free time I have by not having a third child.
Marine: Smart. So, if you could get permission to do anything for a day, what would you do?
Laetitia: I don’t like constraints, so I would ask for permission to do anything I want every day of my life.
Marine: Fair point. If you could invent a new permission, what would it be?
Laetitia: I’d like the permission to become invisible at will. Sometimes, it’s comfortable to be in your own bubble and not be seen.
Marine: I can see that. For the listeners, Laetitia has bright red hair, so she’s easy to spot in any room. What is your greatest power?
Laetitia: My greatest power is I can go to sleep in less than five seconds whenever and wherever I want.
Marine: Really? Now I’m jealous. Do you give lessons?
Laetitia: No, I’m not joking.
Marine: Thank you, Laetitia. It’s been fun talking to you. I hope this inspires people to look into the SQL norm and Postgres. You’re very inspiring.
Laetitia: Thank you.