25 years of contributing to Postgres with Peter Eisentraut

Download MP3

CLAIRE: 00:00:05
Welcome to Talking Postgres, a monthly podcast for developers who love Postgres. I'm your host, Claire Giordano, and in this podcast, we will explore the human side of Postgres databases and open source, which means why do people who work with Postgres do what they do and how did they get there? I want to say thank you to the team at Microsoft for sponsoring today's community conversation. Today's guest, without further ado, is Peter Eisentraut. Peter is an open source committer to the Postgres project. He serves on the Postgres core team. He serves on the board for the PGCA nonprofit that protects the trademark. He serves on the database standards working group that evolves the SQL standard. He is employed at EDB, where he is a VP and chief architect of database servers, and he's the former CTO of 2ndQuadrant. One of the things I particularly like about Peter's work experience is that he worked at Sun Microsystems early in his career, and he's just a brilliant engineer and engineering leader. So I am really happy that you decided to come on the podcast. Welcome.

PETER: 00:01:14
Thank you. Thank you for having me. Very excited to talk to you.

CLAIRE: 00:01:20
The title of today's episode is probably why I had such a long introduction. So many things, so many different types of contributions that you're making. And the title is 25 Years of Contributing to Postgres. And I'm hoping that by the end of the episode, we will know a bit more about why you've stayed for 25 years, right? Why you kept coming back for more every step of the way. And if you don't know the answer to that yet, hopefully you will figure it out along with me.

PETER: 00:01:53
That would be good, yes.

CLAIRE: 00:01:54
In today's conversation, let's start with your origin story. We do a lot of origin stories on this podcast. I'm really curious just how you got started. As a developer, forget about Postgres for a second, just how did you get started at the keyboard and in software?

PETER: 00:02:14
I think I got started very early in my childhood even just tinkering with computers or programming, really. Not so much hardware tinkering perhaps, but just with a computer. A computer was there and maybe in other circumstances you would play games or something. But I was, the first thing I did was write a little program. The first computer I worked on was a Commodore 64, so it was basic programming, and you just sort of wrote some loops and had it print something, that kind of stuff. So it was really very early on that I liked programming, essentially.

CLAIRE: 00:02:47
Do you remember how old you were?

PETER: 00:02:51
I was probably somewhere 12, 13, something like that perhaps.

CLAIRE: 00:02:56
OK. But where did you get the idea to write a program instead of playing a game or something like that? Is it something that you saw someone else do or? Do you remember where the inspiration came from?

PETER: 00:03:13
I don't know. I think my... you know, back in those days, we didn't have a lot of computers around, so it's hard to know where you get inspirations for that, like that kind of thing. And it wasn't maybe something I saw at work at my dad's place. You know, there was computers there, and I saw people programming, perhaps, right? That's the only... that kind of thing I could have seen before, but other than that, I don't know. I think you just sort of like, oh, this is the kind of thing I, maybe it's just something that I found, oh, I could do this. This is interesting without even knowing why.

CLAIRE: 00:03:52
Well, I'm glad you did, because I'm glad something got you started on your path toward Postgres. What happened next? And then how did you get from working with computers or being a developer into working with Postgres.

PETER: 00:04:09
Well, I think for a long time, really not much happened after that, right? I wasn't working with computers at home during my school years much. Though we didn't have a computer, or I didn't have one personally. You know, back then, you didn't necessarily have one for yourself. But it certainly was always interesting to me, and I think it was not until college that I then, you know, decided that I was going to study computer science and I had to get a computer and then started programming either at school or, yeah, I think at school mostly in the computer labs and then also at home, and I had my own machine. But it was the same thing, right? You... I wasn't really much into playing games. The internet was just getting started at the time, so you could get a lot of information online and that kind of thing. Maybe that was like a good sort of, I came in just at the right time where some of those things were taking off.

CLAIRE: 00:05:15
And then.

PETER: 00:05:15
But yeah, it was just fun tinkering around and learning, you know, programming languages and figuring just, yeah, I think it was always like that.

CLAIRE: 00:05:23
Maybe we should rename the episode to 25 years of tinkering with Postgres, just to get the word tinker in there. I like how it rolls off the tongue.

PETER: 00:05:31
Yeah, I think it is like that though, right? Not all of it necessarily has to lead to something, right? It's just seeing what the thing can do and what the new technology can do, out of interest.

CLAIRE: 00:05:46
Okay, so first encounter with Postgres. When was that?

PETER: 00:05:50
I was, that was in college. I was doing an internship, so this was part of the computer science program. I was doing an internship at a internet service provider at the time provided dial-up to sort of the city, and they basically just heard, oh, you know programming, you know SQL. You know, come work with us. You can be our database DBA or I guess something like that. We need someone who knows that kind of thing. And they were using Postgres, which I think was unheard of at the time. But somehow they just decided to use it and wanted me to help develop their intranet application or their management application that they use for their customers and things like that. And I was just there. That was Postgres live and, you know, then I was programming Perl, PHP stuff, and did logged into Postgres and created tables and that kind of thing.

CLAIRE: 00:06:56
Do you, do you remember what version of Postgres was the most recent at the time, or what year are we talking about exactly?

PETER: 00:07:04
Yeah, that was, it was 1999, and it would have been Postgres 6.4, 6.5 or something like that. It was before 7, so because later on, I guess we'll get to that in a minute, then I got involved in the development, and so the next big milestone was Postgres 7.0. And so at the time we were using 6.4, it was before foreign keys, I remember. So I think it was probably that, yeah.

CLAIRE: 00:07:35
I am curious if you remember what your first contribution was to Postgres. I don't know if you dug it up, if you have a link to the commit, and was that also in the same time frame? Was it, you said 1999, is that also when you made your first contribution?

PETER: 00:07:57
Yeah, I mean, exactly, right. I got into the hacking on Postgres pretty quickly because I probably apparently had a lot of time on my hand at the time. You know, I was in college and it didn't... I chose to spend my time that way, I suppose, right? But I got into it really in the, at the time, the traditional way of scratching your own itch, as we like to say at the time. That I was using the system, I didn't like a specific aspect of it, and then I sort of dug into it and see if I could fix it. I'm not sure if this was literally the first patch I sent, but the first... the real piece of functionality that I worked on was the tab completion in psql. Is that at the time, you sort of have this reflex that when you use a shell, you press Tab all the time, and in a shell that works, but in psql at the time, it didn't do anything useful. It actually thought it was a shell, like a Unix shell, and just gave you nonsense completions. And that I thought, well, I, that...

PETER: 00:09:00
doesn't make sense. I think maybe we can do better. I had no idea at the time if I could succeed in that, but somehow over the summer, several weeks, I... so figured it out. So I think that was my first substantial contribution. There might have been one or two sort of small commits before that, if you look into the records, but I think that's really where I started as a feature that I really wanted for myself. And that was substantial.

CLAIRE: 00:09:27
And from there, how did it evolve? Melanie Plageman has always persuaded me to focus on what made you keep coming back? Why did you keep coming back? So what were the next steps in your story?

PETER: 00:09:42
Yeah, I think there was a combination of things. I think one was, I think I was apparently somewhat good at it, right? My contributions were well received and so on, and it was a community of people I didn't know at the time, but it was just a place to hang out and contribute and do something. You know, I think my roommates at the time, they were going playing laser tag or something and I was doing this instead.

CLAIRE: 00:10:22
Oh no, you could have been like an Olympian laser tag player.

PETER: 00:10:27
I did do some laser tag, but I divided my time wisely, I think. But yeah, and once you start digging, why, at the time it was the quality of the code at the time was dubious in various places, and then you can, as you dig around, you find more things. Oh, I could fix this, or I can improve that. I can improve that. And again, so it's snowballed from that, right? The things you do, people welcome them somehow, right? People welcome you, and then you find it useful. I was using the system as well at the time, of course, and so I was trying to also improve it for my own work. And then you just goes on and on and, yeah, but then keep going.

CLAIRE: 00:11:12
And then you continued to work for that same company?

PETER: 00:11:16
No, actually, I didn't work for that. It was just a summer internship. So in a way, this was kind of, I hopped around at the time quite a bit because I was also moving between different countries because of the sort of semester abroad type of things and then interrupted university for a little while to do something else, but I could always do the Postgres work. That was sort of a hobby, a community I could just keep going across different locations and things like that, which also was a, nowadays maybe that's kind of standard, right? But at the time that was, a newish thing that you had sort of online hobbies that you could just keep going. So I was I... popped up in a new place, new country, and then I say, well everything is new here, but I can do this, right? I can keep going with these people that I know online.

CLAIRE: 00:12:08
Why were you changing countries, can I ask? Is there some dramatic story?

PETER: 00:12:11
Oh, this was just my... no, this was just college, right? You want to do a semester abroad here, and then for a while I was back home. I was studying in the... when I got started, I was living in Michigan. And then I was in Sweden. Then I was back home in Germany for a while. Then I was back in the U.S. So I for the way just the my sort of college curriculum worked out, I was in a bunch of different places. Different years, but I could always keep doing this.

CLAIRE: 00:12:43
Got it. So Postgres was the one constant in your life at the time, besides family.

PETER: 00:12:48
Yeah, yeah, pretty much, yeah.

CLAIRE: 00:12:51
Nice. When did you first start meeting people in the Postgres community? Did you, did you work online with them for years and years and years before you ever met someone in person?

PETER: 00:13:05
Yeah, for a while, because we didn't have conferences as we do now, right? The first event that I went to was FOSDEM 2003, which I think by some standards is probably the first ever Postgres event. Maybe somewhere else before that two people met in a bar and talked about Postgres, right? But this was the first event with Postgres on the schedule, I think, 2003. Bruce Momjian was there, who is still of course now famous, but at the time really community leader and the first who really went out, did conference talks and so on, and he ran the dev room, as we say now, at FOSDEM in 2003. And so I met him, met a bunch of other people I knew from online. Met Michael Meskes, who also then gave me my first Postgres job. And all then went from there.

CLAIRE: 00:14:02
And where was your first Postgres job? Where and when did that happen?

PETER: 00:14:06
So after that, I started working at Credativ, a German company that is still around today. We were doing. Well, this is a consulting company around open source in general, I would say. Postgres wasn't really a business yet at the time, but we kind of built it up. So maybe did I, again, other people might have done similar things at the same time, but I think we did one of the first training courses for Postgres that was commercially available and things like that.

CLAIRE: 00:14:44
One of the things that a previous guest on the podcast reflected on is that, or maybe they didn't say, but I reflected on it as I listened to their stories, is that part of A lot of people's career paths is, when you look back, it's saying yes to opportunities that come along. You know how if you're happy with what you're doing and someone comes along and they offer you something, it's very easy to say no because it's, right, it's an unknown. You don't know what's going to happen over there. You're happy where you are. Why would you even have the conversation? But as I talked to people, I realized they got these out of the blue or out of left field or these opportunities, and they embraced them and they said yes. So I don't know if you feel like that happened to you. Was saying yes important in this whole 25-year journey or not?

PETER: 00:15:38
Probably also, but I think especially in the early half. It wasn't so much that opportunities just show up and you have to take them, right? You really have to search them or make them yourself, right? It's not like if you want a Postgres job now, you can find one somewhere, or at least you know where to look. Back then, that didn't really exist. Right, we had to sort of decide to do that, or you sort of have to find that this is even a possibility, I think.

CLAIRE: 00:16:09
So with the Credativ job in Germany, is that one that you then sought out and had to persuade and sell yourself into?

PETER: 00:16:18
And not so much persuade but I reached out, right. I was, I was not contacted. I reached out.

CLAIRE: 00:16:27
And obviously it worked.

PETER: 00:16:27
Because we didn't, we didn't know each other really. It's not like we've ran into each other before or anything like that. We didn't even know, what... We just knew names on an email. Right. Not even, you didn't even have what you could do now, go into someone's LinkedIn page and see what their story is or something like that, right? You just had names on a mailing list and didn't know if they were like nice people or scary, right? So actually, in many of those cases, just contacting someone personally was very sort of weird in a way because you didn't know who you were talking to. It's just a name that is reflected by just emails you've read over time. It's quite different from now, I would say.

CLAIRE: 00:17:12
And there was no LinkedIn, right?

PETER: 00:17:15
No, definitely not. I don't know when that would have started. [I feel like it was 2005-ish.] Was even before Facebook or before... yeah, so definitely much before that. I don't even know how you would, know anything about anyone. You know, in those days. I mean, unless they had a website, I guess some people did.

CLAIRE: 00:17:37
Okay, so you went from Credativ in Germany, and you were there for like five years, and that's when you went to my favorite company, Sun Microsystems.

PETER: 00:17:46
Yeah.

CLAIRE: 00:17:47
And I had already left Sun by that point. I was long gone, but you worked there in Finland, is that right?

PETER: 00:17:56
That's correct. I moved to Finland for family reasons, and so in a way I needed a new job, and then I just, this... how did this contact get made? Probably at a conference. At the time, we did have then conferences, and it was possible to make contact with other people and so on, so. I got the, I got the job at Sun, who had a Postgres business at the time, which then didn't last much longer after that. And so I wasn't staying there very long, but it was super interesting there. It's such a... learned a lot there about just the technology industry. It's quite, I feel it's quite unfortunate that it sort of is forgotten now. I wish they would write a book about Sun or something like that. I don't know, maybe there's one.

CLAIRE: 00:18:42
Oh, there probably is one. Your, yeah, your description on LinkedIn today is a little, I don't know, is tongue in cheek the right word? You say assisted in the demise of a Silicon Valley pioneer. That's so sad. It's so sad. You know, when I first started working at Sun, it was like the hottest place to work. And so I would tell people I worked there, and you could tell them do a double take, like, Oh my gosh, you work for Sun? And that was really cool. And then, of course, years and years later, people would find out that you worked there and they'd be like, Oh, you worked for Sun, right? The whole same words, but completely different tone of voice. So, but I'm glad we have that in common. And you worked on Postgres there too. And then you went from there to a company that I'm not familiar with called F-Secure. And after that, oh my gosh, MeetMe, and eventually 2ndQuadrant and EDB.

PETER: 00:19:37
That's right. That's right.

CLAIRE: 00:19:38
And Postgres is the common thread through all of those jobs?

PETER: 00:19:41
Yes, F-Secure and MeetMe were users of Postgres, also community sponsors, but not developers, right, themselves, but users. I was doing DBA work and some Postgres hacking on the side mostly, and then with 2ndQuadrant, it was, also, I reached out in that case, right, 2ndQuadrant.

CLAIRE: 00:20:02
Okay, so you didn't just have opportunities thrown at your feet your whole career is what you're saying.

PETER: 00:20:07
Well, you know, there have been, there have been opportunities. Over time, probably, I don't remember specifics now, but people had contacted me from time to time also, but for whatever reason. So maybe I was more like you said, like saying no. What did you say? Saying no is easy, maybe, or saying no is hard.

CLAIRE: 00:20:29
I, it's words are so tricky. It's actually difficult to say no to like ideas for features, or it... people come to you for help, and you want to help them. And so you say yes, even if you don't have time. So sometimes saying no is actually easy, but sometimes it's hard. And I don't know what I was talking about. Forget it. Forget I ever said anything, because...

PETER: 00:20:56
No, but that's actually, that's actually right, right. It's in some cases you sort of default to a certain direction that's maybe not of advantage to you.

CLAIRE: 00:21:06
For me, career-wise, I have not said yes enough. I have turned down some fantastic opportunities, and I think at the end of the day, it's because I was resistant to change, and it was just easier to stay where I was. And I was happy. I was happy where I was. And then I remember Tom Lane talking about how he had it nowhere in his mind that he was going to end up in software. And a professor came along to him and said, You should really TA this class. You're really good at this. Or maybe it was become a summer researcher or something like that. And he said yes. It wasn't his plan. It wasn't his intention, and he said yes to that opportunity. So that's kind of what I was thinking of. And I was wondering if you'd had those opportunities too.

PETER: 00:21:55
Yeah, that, I think that very first job at the ISP, the internship. I was asked and I was not prepared for that, right? So I had to actually say, okay, sure, I'll do that. I don't know what you're asking, but I'll do it. [I'll figure it out.] I mean, at the time, at the time, I didn't really have anything else to do, so that was in a way easy. But it was, I also could have just said, no, I'll... don't know what you're talking about. I'd rather, you know, watch TV or something. So, over the summer, it was a summer internship, so I could have chosen to do something else. But I was like, sure, yeah. I mean, these were sort of private contacts, you know, people I kind of knew and so on, so that probably helped.

CLAIRE: 00:22:43
I think one of the challenges talking about 25 years in an industry is I sometimes feel for me that I've forgotten more than I remember. You know what I mean? There's so much has happened in a 25-year period that it's actually quite hard to pick out, to cherry-pick a few interesting stories. But that's exactly what I'm going to ask you to do, is to cherry-pick a few interesting stories.

PETER: 00:23:05
Yeah, but you can look at all my emails that I've written publicly that are archived, and you can go into the metadata and see when I've sent them and from where. And then that probably tells a lot of the story. I've never done this myself, but you could probably look at some point I changed from posting at night to posting during the day or something like that, right?

CLAIRE: 00:23:28
Is this like the Postgres hackers equivalent of Googling yourself is going and querying the hackers mailing list to see the patterns.

PETER: 00:23:38
No, but I think there is, there are, I think there are patterns of, in the early part of my career or in early, sort of early life of Postgres, the community, there's probably most people were hobbyists of some sort, or they did it after work or something like that. And so they would, when they posted, you know, their patches or their reviews or discussions, they would do it at 11 p.m. their time. And then at some point this changed to as you know, most people now do it as a job, and so you do, you do your posting, you know, at 10 a.m.

CLAIRE: 00:24:15
During the day, yeah.

PETER: 00:24:16
And then you don't do, and then Saturday, Sunday, you don't post anything or very little. I think there is, if somebody wants to do this analysis, I think this is probably true.

CLAIRE: 00:24:26
Unless you made a mistake on Friday or Thursday, in which case I imagine you are saying something on Saturday and Sunday.

PETER: 00:24:34
That is, that also happens a few times and then you don't do it anymore. No, there was actually a time when... this now goes into all the inside baseball, but, you know, it's sort of when you, when you commit something, the buildfarm runs, like, a lot of you will know that, and then the buildfarm may or may not accept what you've committed. And for a while it was, some years ago, it was really bad that. I guess we didn't have enough sort of test coverage ahead of time, so there was always a fairly significant risk, even if you did everything you could locally, that there would be some kind of build form failure. At some point, it's got so bad that I said to myself, I'm not even, not even Friday, we're talking about Friday weekend work. I'm not even gonna commit anything afternoon, because I don't want to work into the night to fix it. It's not so bad anymore now, but it is a lesson I've learned also. Don't deploy on Friday, but don't commit in the afternoon or in the evening.

CLAIRE: 00:25:37
On any day of the week, you mean.

PETER: 00:25:40
More or less, yeah. It's gotten a lot better now.

CLAIRE: 00:25:43
Are you a morning person or a night person?

PETER: 00:25:47
I have turned into a morning person by force. Again, someone could do this analysis, but I think in the early times I probably worked into the night, through the night. Now I work, you know, in normal workday for the most part. Try to get most of the thinking and developing work done in the before noon and then in the afternoons it's all meetings.

CLAIRE: 00:26:10
Okay, what? What caused that change? What do you mean you forced yourself to switch from being a night person to being a morning person?

PETER: 00:26:16
Because I have a family now and not just a sort of a lonesome college student.

CLAIRE: 00:26:22
Got it. So you want to be able to spend time with your family in the evenings and not be cleaning up from the days.

PETER: 00:26:27
Yeah, you know, you just do a eight to five, nine to five type of job, and then there's, you know, time for the family and the usual things that we'll do.

CLAIRE: 00:26:38
And you're making a special exception for today's podcast episode, I take it, because it is after five o'clock where you are, right?

PETER: 00:26:46
It is, yes. I mean, the reality of things is that sometimes you have to take evenings now to talk to, you know, such as now, or to talk to colleagues overseas and things like that. So you have to be a little bit flexible, but I schedule and plan those kinds of things.

CLAIRE: 00:27:04
I've never figured out how to make myself a morning person. I raised kids, and lucky for me, they were good sleepers. They would sleep in the mornings too. So, yeah, I haven't.

PETER: 00:27:14
But I have to be up. I have to be the first one up to get them up. Otherwise, nothing will happen in the morning.

CLAIRE: 00:27:22
Got it. Okay. All right. So the common thread across these 25 years, across all these different companies, was Postgres. Have there been... are there stories? Can you cherry-pick us some stories that help us understand a little bit about what it's been like to grow? I mean, what's interesting is as your career has flourished working in Postgres, and as the scope of responsibility that you've taken on has expanded, the Postgres project has grown like gangbusters too, right? So... you've been growing on top of this tidal wave, if you will, of a project.

PETER: 00:28:04
Yeah, exactly. So, yeah, I happened to be sort of in on the ground floor, I guess, a little bit, right, and then it grew, which was fortunate. But yeah, it has, it has changed, right? Initially, as I said, I started as a user. And most developers were users, and there was this mailing list culture where you, sort of everybody was on, you know, either on a hackers mailing list or on a general mailing list, and that was sort of the whole universe of people who were interested in Postgres, and you got a lot of direct feedback also. When I was doing initially training, consulting, you talk to users directly, you get feedback, and you really had this sort of idea that was very prominent initially in open source, that you get sort of the direct feedback loops and make good products that way. And then over time, as things have grown, right, you... it's hard to really keep that contact and keep your, how do you say, sort of your eye on what the users want and so on, because it's so disintermediated now that we have in companies, right, you have, you would have a development organization, you have field organizations, and they're very big and, of course you, part of your job to really stay on top of that, but it's much more difficult and goes through so many different hops and so on, so it's quite a different situation. And then also, as you're saying, right, in the community, there's so many more responsibilities to organize things and manage things and so on.

PETER: 00:29:35
Very little time to do all of these things.

CLAIRE: 00:29:40
I know I introduced you in the beginning, and I spoke about a bunch of your different responsibilities, but I guess I'd like you to walk us through the different ways you contribute to the project. When you think of the top. Five different categories of ways that you're participating in Postgres. What are they?

PETER: 00:30:02
Well, the development, I tried to go to, I tried to do some blogging and things like that, right? Which I also should do more, but I like doing that, explaining things. You know, why you do, what the ideas were behind what you've done, you know, obviously you want to promote your work a little bit if you implemented a feature. Also just sort of ideas and sometimes gather feedback that way. So I think that's useful. I guess people know that I'm in the core team. The core team itself doesn't do nearly as much as people think it does, probably. It is mostly a place where things get delegated out of, right? All of these bodies that exist now, the release team, the security team, and code of conduct team effectively and things like that were just delegated out of the core team.

CLAIRE: 00:30:59
So just to pause for a split second, for anyone listening who has not heard the term core team before in Postgres, in other open source projects, sometimes there is a project steering committee. So that's an equivalent term across the open source community, and I think there are about seven people on the Postgres core team, and explicitly from different companies. [Seven, yeah.] I think it's probably part of the charter that you can't have more than a certain number of people from the same company because Postgres, as a project, does not belong to any one corporate entity. It's contributed to from lots of different places and companies and countries. There. Did I summarize that right?

PETER: 00:31:42
Yeah, that's definitely right. So I think, I think, looking back, what I did, one thing I've done. The number of times is, so effectively, having new organizational ideas, and a lot of those I've adopted from looking around into other open source free software type of projects, right? So some of the ideas about having like a packagers' mailing list, for example, a way to communicate with packagers. I've adopted, sort of gotten the idea from somewhere else and brought it into Postgres. Also, some of the ideas around what is now the funds group that works with software in the public interest to manage the money for the project. Is partially, I don't want to take credit for all of this, right? But I know I was involved in the initial discussions based on ideas I got from the Debian project where I was involved. And things like that. So that I do like to look around into other projects. And see what kind of organizational challenges and solutions they have, and then bring some of them over.

CLAIRE: 00:32:56
Well, and I'm glad you do, and I'm glad other people on the project do, because obviously you don't want to start everything from a blank sheet of paper. It's good to build on top of the shoulders of people on other projects as it fits the needs of Postgres. Okay, so you were talking about different ways that you contribute to the project, and obviously talked about how you contribute as a developer in the code itself, how you spend cycles explaining things. And I don't know if when you said that you were thinking of emails to the mailing list, right? Because that's a form of explanation. Or if you were thinking of conference talks or blog posts or whatever, and maybe you should tell us that. And then the third thing you talked about was core team. You serve on that, and you have for years, quite a while, I think, right? I don't even know how long.

PETER: 00:33:47
Yes, I couldn't actually tell you how long.

CLAIRE: 00:33:49
Okay, neither one of us knows then. So those are three ways in which you contribute, but I know there's more. So keep going with this enumerated.

PETER: 00:33:56
Is there more? What else is there more? Give me a hint.

CLAIRE: 00:33:59
Oh, okay. Well, what about the SQL standard, and what about the PGCA board, and what about...

PETER: 00:34:03
Oh yes, yes, of course.

CLAIRE: 00:34:05
And if you weren't thinking of conference talks, then we should talk about that as well.

PETER: 00:34:11
So let's talk about the...

CLAIRE: 00:34:11
Mentoring? What about mentoring? That's probably another way. I mean, so yeah, you got a lot.

PETER: 00:34:15
Yeah, there's a lot of things going on, right? Some of those, sometimes some of those fade in and out as things go, but I guess they're all sort of active. So I, yeah, let's talk about the PGCA. Postgres Community Association is a nonprofit organization that was incorporated to manage, initially manage domain names for the project, because someone has to have them. So it was more of a very low-key organization, and then it turned out that we also needed to guard the project's trademarks. And into other intellectual properties, that has become a much, much bigger undertaking, so that takes up quite a bit of work. Amongst several people, right? It's not only me doing it, and of course, Claire, you're doing it as well.

CLAIRE: 00:35:03
And you served on that board for quite a long time as well.

PETER: 00:35:07
Yeah, that sort of also, yeah, that organization was initially chartered by the core team, so I ended up in there also, in some way delegated by the core team originally. So yeah, that's also been going for a long time. Again, initially it was actually not quite as much sort of work as it is now. So yeah, that's quite intense at times, as you know.

CLAIRE: 00:35:35
And I'm still the, I'm still the new kid on the block dealing with the PGCA board and all the responsibilities of protecting the trademark. And it's interesting because some people equate open source with open trademark, and it's not like that at all, right? Somebody does have to protect it. So anyway.

PETER: 00:35:35
What else did we talk?

CLAIRE: 00:35:56
I don't want to dive into it.

PETER: 00:35:56
Yeah, I mean, I wish it were different, right? I wish there were some kind of free software, open source was sort of born out of a hack of copyright law in a way, right? That you have to have copyrights, but you write a license in a way that it's sort of mostly free for everyone, right? But such a thing doesn't really exist in trademark law. I think that would actually be quite helpful, but that's a totally much different discussion. I don't think we're going to solve that.

CLAIRE: 00:36:29
It's a whole separate series of episodes unto itself. So yeah, let's not go there. But I do, I do thank you for serving on that. I'm the new kid on the block, and I'm still learning so much from the rest of you. But there's a lot. What about the SQL standard? That's something that I think you work on. I think Vik Fearing works on that as well. Am I right on that?

PETER: 00:36:51
Yeah, that's actually, it's quite interesting. I think for, obviously, Postgres implements SQL ever since, obviously there was a change from what was it before, PostQUEL, right? But ever since I was involved, it's been SQL. And, but it was for forever, it was just SQL was just a thing that sort of came out of somewhere, and we had no involvement in or knowledge of it at all. It's just sort of by rumor, it's sort of a new version popped up, because the process is obscure, right? And, you know, initially there was no way of even knowing how to do anything about it. But then over time, as you know, the project grew and the, you know, commercial opportunities, meaning, you know, availability of time and money to do this kind of thing grew. Then it was possible to figure out, okay, so where does this come from and who do we need to know to get involved in this, right? And so I was encouraged by my manager at the time, Simon Riggs, to figure out how that should work. And I also happened... there was some fortunate circumstances there that I also happened to be at an event where I met people who were already involved in that, and I...

PETER: 00:38:12
you know, just asked them, like, hey. I'm actually supposed to find you. I just found you. And then, yeah, I got involved in that, and it was, yeah, this is going five, six years now I've been there, and we've been getting... even more community members involved there now, right? You mentioned Vik, he's been around for a couple of years now, and also I think as of recently, a couple more people. So we're growing the Postgres presence there. It's quite an interesting group there as well because me coming from this open source way of working where you have, you know, sort of a group of volunteers who have. You know, different commercial interests perhaps, but common goals. It's quite easy for me to work there. Maybe it's unusual if you just come from a company, you need to go to, you know, talk with other companies about what to do. But for me, this was actually quite easy, and it's super fun to just hang out with database nerds, some of whom have been around for, we're talking for me here. What, 25 years? That's nothing compared to some people who are there.

PETER: 00:39:20
So the body of knowledge that's available there is immense.

CLAIRE: 00:39:23
I know the name of the working group is a really, really long name that I can't seem to commit to memory. But I'm curious how often do you all meet and do you tend to meet virtually, like over Teams or Zoom or something like that? Or are there in-person meetings as well? Where does the sausage get made?

PETER: 00:39:49
So the group has, so the normal cadence is there's about three meetings a year. These are in-person meetings, but you can also dial in via Zoom. And again, in a way, there was some fortunate timing there because, I guess don't know exactly how it was before I joined, but I joined just around the time of COVID, where the in-person meetings were obviously canceled and they had to kind of make up on the spot, like most other people at the time, some way of continuing the work virtually. So there were a lot of virtual meetings at the time over Zoom. And so the facility to actually have online meetings, virtual meetings, was formalized at ISO at the time. So now it's pretty normal. Before that, it would have involved. You know, a lot of travel, effectively, and at the time I joined, I could have just joined. You know, just joined Zoom meetings. I had my work Zoom meetings and I had the other Zoom meetings, so it wasn't really much of a difference. But that kind of turned out well.

PETER: 00:40:57
And so now it's a mix. There's these three in-person meetings. Sometimes there's intermediate meetings that are purely virtual, but I don't go to all of the meetings in person. I dial into some of them also virtually.

CLAIRE: 00:41:09
How big is the working group? Approximately.

PETER: 00:41:14
It's not super big. It's between 10 and 20 people, so depending on it fluctuates a little bit, but it's about like that, yeah.

CLAIRE: 00:41:22
All right, so the SQL standards working group, that's my colloquial name, not the official name.

PETER: 00:41:30
That's good enough, yeah.

CLAIRE: 00:41:31
In addition to developer, in addition to explainer, in addition to core team, in addition to PGCA, what else? Other ways you contribute. I mentioned mentorship. Floor Drees on the chat has asked that I make sure to ask you about CRA as well, which does not stand for Canadian Revenue Agency in this context. So let's tackle mentorship and CRA and then see what else you could come up with.

PETER: 00:42:01
Yeah, the mentorship is something I've tried to participate in more. I got inspiration. And not just from that, from various colleagues and community members. You know, some of you are, people will not be surprised, like Robert Haas, for example, who has been pushing that for some time now. I do a lot of that internally in the company or just sort of ad hoc with people, but I've also tried to participate in the community mentorship programs that were organized. And yeah, that's. [Yeah, shout out, shout out to Robert on that.] Definitely, yeah.

CLAIRE: 00:42:38
If any of you haven't listened to the podcast episode we had with Robert where he talked a lot more and more deeply about that mentorship program. You should listen, and I'll include a link in the show notes.

PETER: 00:42:49
Yeah, I think, and I think that's very, I mean, I enjoy that very much. But I think it was also needed a nudge from people like Robert and so on to actually, for me to realize that I should do that now, right. It's sort of a responsibility in a way to be available to people. And it's a way to grow the community and ultimately also sustain my own job in a way, right? But that's good because you get to spend time with people who have different backgrounds, and I hope to share knowledge, but also have actually learned a lot from the people I was involved with.

CLAIRE: 00:43:30
I mean, I think it's interesting that it's probably harder to get started in Postgres today, even with all these programs, like the mentorship program, than it was back when you started. Because back when you started, like you said, it was very easy to find something that needed attention. You used the word dubious, but, and there were fewer people. So it was easier to kind of get into the circle, if you will. Now, I can see your face, which listeners can't, and your brows are furrowed, so maybe you don't agree with me. Maybe it was equally hard back then, but just differently hard. Maybe that's the comparison.

PETER: 00:44:10
Well, I guess differently hard is probably true, right? It's, there was no process at the time. It was just somehow it happened. You got tapped on the shoulder somehow, so you wouldn't even know what to aim for, or you weren't even expecting it or aiming for it. Certainly nowadays people have this, you know, certainly some people have an ambition to become a contributor or a major contributor or committer or things like that, right? But back then you didn't have these categorizations and these things were just assigned to you in a way, right? So. It was hard in a way that you didn't even know what to do. Now. I guess the expectations in the past are hopefully a little bit more clear, but it's true, right? The standards have risen, certainly the scrutiny, just the volume that is out of contributions and patches and emails and so on has risen, so it's difficult to stand out, I assume, right? This is always difficult for me, and I assume others in a similar position to actually know what the perception is, this is something I learn like every day, like that.

PETER: 00:45:20
Other people don't have the same view of things as you do because they're not in the same threads and the same discussions and the same Slack channels and the same meetings. So I don't know what the actual, that's sort of always a... almost an unanswerable question from my perspective. Is it easy? Is it hard? I hope to contribute to making it as easy as sensible, but ultimately, I don't know.

CLAIRE: 00:45:45
Well, and for anyone listening who is thinking about getting involved in the Postgres project, just know that there are forums like the Postgres Hackers Discord, where there are opportunities to get mentored and to, and there are also committers who have regular office hours that anybody can approach them to get a meeting and talk to them and ask them questions one-on-one before they go on the mailing list and start participating. So anyway, people are definitely taking steps like you to try to make it easier to get involved. So I don't, I don't want to scare anyone away.

PETER: 00:46:22
I would say personally, no, I think trying to reach out. It's very sensible for people who, you know, are interested in pursuing paths like that, right? Because, I mean, obviously the normal process would just ideally be, you know, you send a lot of good patches and at some point you get promoted to whatever kind of role. But, you know, to stand out or make connections go into a conference if you can. That's not possible for everybody, or go into meetups or going to online events such as hacking workshops, patch review workshops, or anything like that where you can present yourself as a person that people will remember is, I think, is valuable.

CLAIRE: 00:47:13
I know we still need to get to the CRA, but you just mentioned conferences. I know that's something that you participate in on an annual basis, multiple times a year. I know that you were at PGDay Lowlands. Was that last week? Which was in the Netherlands.

PETER: 00:47:30
Yes, that was, yeah, actually, yeah.

CLAIRE: 00:47:32
In the Netherlands, I think it was the third annual event, and I think those organizers have coined the term that it's the second best Postgres conference in Europe.

PETER: 00:47:43
They do say that, yeah. I don't know what the reference for that is. [I think they made up the ranking.] I mean, what the ranking is, what the first and third one is, or maybe sort of intentionally ambiguous.

CLAIRE: 00:47:55
Intentionally ambiguous is absolutely the right way.

PETER: 00:47:57
No, but I will say, I will say that Lowlands is the friendliest Postgres conference.

CLAIRE: 00:48:03
Really? Okay.

PETER: 00:48:04
I'm just gonna leave that out there. Yeah, that's why I like coming back.

CLAIRE: 00:48:06
I know they also have a fantastic professional photographer each year, which means there are some great photos. Although, I'm just going to say that I was just looking at the PGConf.dev LinkedIn account, where they posted photos of the speakers from earlier this year. That's the annual event that usually takes place in Canada that many of the contributors and committers attend. And there's a lot of collaboration on the release that just happened, the release that's coming up. And anyway, it's a super wonderful conference as well. And I'm just going to say there are some really nice photos of speakers on that conference as well. And they did not hire a professional photographer, but they had some nice volunteers. Wink, wink. Smile. [Good. Yeah, I should check that out.] Okay, so Lowlands is the friendliest. You were just there. You gave a talk, and I know you're also going to be giving a talk about CRA topic at PGConf.EU in Valencia next month, in October. So PGConf.EU is probably the largest physical in-person Postgres conference, happens every year, always, in a different, well, it rotates around countries and cities of Europe. And when I say largest, it's, I don't know, how many people is it going to be this year? 700, 800, something like that, I think.

PETER: 00:49:35
Between six and eight is probably the going rate at the moment, yeah.

CLAIRE: 00:49:39
I think that the fact that it rotates around different countries and cities is part of the secret sauce that makes it so special. I know it's harder, right? Because you can't just exercise the same playbook, right? The same hotel, the same relationships, the same logistics every year.

PETER: 00:49:58
It's interesting, yeah, because some conferences, you mentioned PGConf.dev. PGConf.dev is sort of rotating now. We'll see how it goes in the long run, but when it was in Ottawa. It was the same playbook for me every year, and also at FOSDEM I mentioned in Brussels, it's sort of the same playbook every year. And in some way that's also comfortable.

CLAIRE: 00:50:19
Oh, cause you know exactly where to stay and where to eat and you have your favorites and where the best beer is.

PETER: 00:50:19
But yeah. Exactly, right. Or you said like, Oh, I want to try that one next time, or something like that. So that's also very comfortable and reliable. But then also the ones that have, you know, rotating locations, there's also sort of this mystery around it and stuff like that every year, where would it be now and so on. So that's also fun, yeah.

CLAIRE: 00:50:41
So you do make time to go to conferences. Do you do it because it's fun or do you see that as a contribution to the community as well? What's your, how do you justify the time you spend on that, the time and the money, frankly.

PETER: 00:50:56
Yeah, it's a combination of those things, I think, right? Of course, it's fun. I think part of my job or role to be present there and make myself available, or community members or commercial partners, as the case may be, also giving presentations is a good way of obviously promoting oneself, but also processing one's own thoughts into a presentation is kind of almost. The most value out of that, you know, and learning things yourself as you prepare for that kind of thing. But it's also, I think the human touch, the human contact is important. I think this is, you know, I think we like working remotely online, most people, this is the way it is. I mean, it's been in the Postgres community. Forever and also in many jobs now. But every once in a while, you have to go and see that there are people on the other side and just have a little fun together, and then that I think helps just the working environment tremendously. So I think that's also necessary.

CLAIRE: 00:52:11
Do you by any chance remember where you first met me? I'm putting you on the spot.

PETER: 00:52:17
I am going to say that I was also at PGConf.EU in... where was that? Was it in Milan, maybe?

CLAIRE: 00:52:28
Lisbon.

PETER: 00:52:29
Lisbon, oh, even before that. Okay, a year before that even.

CLAIRE: 00:52:31
Yeah, so what was Lisbon? Is that 2018, something like that? Yeah. So I was giving a talk about Postgres, obviously, but it was like, why Postgres? Why this database? It was my perceptions as someone new to the project on, you know, the... why it was so successful. And you even let me take a photo of you that was included in the slides that were part of my talk.

PETER: 00:52:55
I do remember that photo. That's how I could [Place it.] frame the time frame, yeah.

CLAIRE: 00:53:02
Okay, so conferences is a way that you contribute. And now let's dive into the talk that you're going to be giving at PGConf.EU. And let me dig it up here. So it's the full title is, What does the EU Cyber Resilience Act mean for Postgres and its community? And Cyber Resilience Act, that's what the CRA acronym stands for, not Canadian Revenue Agency. So talk to me. What is that talk going to be about, and why does CRA matter to us?

PETER: 00:53:35
So I am actually quite interested in also the politics and sort of the social role of open source. Maybe that's not something I'm visible in, but I do follow that quite a bit. And so the Cyber Resilience Act is a law that already exists and that will become active in the coming months. That regulates software, essentially, right? We have, you know, product regulation in many kinds of areas. Anything you buy has some kind of government regulation, whether you can buy it in terms of safety and things like that. But software doesn't really, hasn't really had that in general until now. But when that came, so when this was first discussed some years ago, this you know, legislative initiative, there was quite a bit of concern in the open source community about how that would impact open source work, because if you have a product category that is regulated by some kind of government regulation, like how do you develop open source that's in this sort of classic chaotic uncontrolled way, is that still going to be possible and so on. So that was quite interesting to me, and so I've...

PETER: 00:55:02
studied that quite a bit now and, yeah, and obviously I kind of mapped that to my main work of how this would impact the work that I'm doing, that we're doing in my job and in the community. But I think it's, you know, quite useful and actually has quite good opportunities also, so. That's how I've got myself into that.

CLAIRE: 00:55:32
Okay, well, and I think for those of us who want to know more, we're going to have 45 minutes of an opportunity. I assume it's a longer 45-minute talk, is that right? Yeah. [Oh, good.] So I will be there to find out more. Are there other ways you contribute to Postgres beyond what we talked about? Development, explaining things, core team, PGCA, SQL standards, mentorship, conferences.

PETER: 00:56:03
I don't know. How am I supposed to do even more? I mean, also, I also have a job at the alongside of all that, right? Yeah, so I also do, you know, without going into too many details, I do a lot of that also, the parallels of that internally, you know, for my colleagues and teams and products and things like that. So I'm also stretched thin at times to satisfy all of those demands also. There's not much time left.

CLAIRE: 00:56:34
Right. And then of course, you have, you have a family too, which needs time as well. So that's a different type of contribution. And unless you have any budding Postgres contributors that you're mentoring in your family, as in children.

PETER: 00:56:50
No, it doesn't seem to be turning that way at the moment, so.

CLAIRE: 00:56:56
Got it. There was a blog you wrote in 2024 that I wanted to give a shout out to. The title of it was, Where are all the Postgres users? And you mentioned that way back in the beginning, earlier in the 25 years when you first started with Postgres, it felt like there were a lot of users on the mailing list because mailing list culture was a way that people communicated across projects and in the open source world, even more so than today. So I'm really curious, where are all the Postgres users, and can you share with us a little bit of your thinking in writing that blog?

PETER: 00:57:36
Yeah, exactly, right. This came out of this realization that you had this notional development cycle in open source where you get sort of this immediate feedback from users, and the hackers were all in the same shared space where they could exchange information and get feedback immediately. And as over time, as things grow, as things have grown and got more complex. That is not really happening that way anymore. I mean, it still appears, of course, there's still user mailing lists, you know, where that kind of is happening, but it doesn't represent nearly the entire user base, and I think most of the user base is silent in that way, right? They just use Postgres and they have no need to contact the developers, or don't want to, don't even know that they're there, right? Which is fine, right? I also use products and don't want to talk to the manufacturer. But then you break this feedback loop. And I think a lot of the work that we, you know, we just discussed is finding that again, I'd go into conferences and talking to random. So people.

PETER: 00:58:57
And hearing what they're using Postgres for, and you learn just random things that you didn't know. And you know, writing blog posts in a way, there's always, you could also do this sort of, you write blog posts that are sort of not partially wrong, but sort of leave open questions and try to get feedback that way, you know, that kind of thing, or, yeah, or just going into these, you know, random... channels, events, you know, mentorship setups, user group meetings, and get the feedback that way, but it's difficult. But so it's not going to be like that anymore. But I think it is useful to keep that channel sort of up or have that user feedback, right? Because obviously you want to make good product.

CLAIRE: 00:59:54
I almost wonder if there needs to be some marketing around it, right? Like some new initiative around a voice of the Postgres customer coming into the Postgres community. I mean, so many customers use Postgres in the cloud these days, or through a commercial offering, and they're giving feedback, but to whoever the company is that they're paying, right? So if you work at EDB, you're hearing from EDB customers. But if you're running on Azure, right, or AWS or something, maybe that feedback is going to whoever your account managers are or whoever your support team is there. And then it doesn't always trickle through to the contributors.

PETER: 01:00:38
Yeah, so maybe this is a shout-out to everyone. Just feedback is welcome, right?

CLAIRE: 01:00:43
Yeah.

PETER: 01:00:44
So, and obviously it has to be aggregated ultimately. You can't have this sort of direct relationship with everybody anymore. But it is super useful to just learn about how people use the products and what their thoughts are.

CLAIRE: 01:01:01
So there is another type of contribution that I suspect you're making, which is each year there are probably some really tough decisions that committers make. So we talked about you as a contributor, contributing code, but you're also a committer. And as a committer, that means you're reviewing a lot of patches, because anything that you commit, you've implicitly reviewed, right? Otherwise you wouldn't be committing it.

PETER: 01:01:24
Let's say that, sure.

CLAIRE: 01:01:26
No, I know that's true. [Yeah, yeah. No, no, it's true.] Come on, are you telling me that's not true? Okay. So as a committer, which in other open source projects the common term is maintainer, I would say, not exactly the same, but the closest term. [Sure, yeah.] You review patches. You work with people to get things to the finish line, even if you're not a co-author of whatever that patch is. There's a ton of work involved, but I also suspect Postgres 19 is about to release beta 4, right? And presumably release candidate 1 sometime in October, but beta 4 later in September. Is that right? And there's been a lot of decisions about what stays in and what goes out. And I'm assuming you're involved in some of those discussions and decisions, and that's another way you contribute, is in helping. Get each release to the finish line each year.

PETER: 01:02:19
I do do that. I have to say the hard work of deciding what needs to be removed is done by the release management team that I am not participating in this year. There was three people. There's a release management team every year of three people who are supposed to keep a really hard eye on it, as opposed to just a normal eye on it.

CLAIRE: 01:02:42
And you've done that in previous releases.

PETER: 01:02:44
I've done that also in previous years, but it rotates around. But I think this year it's especially hard. I, which, I mean, the evidence is there, right? There's been a lot of back and forth on various things, so. I'm not, I'm, I've been a bit more on the receiving end this year than actually having to make those decisions. But it is, yeah, I mean, just getting the release ready is also something I contribute to every year. This is sort of the yearly cadence and, yeah, there's just a lot of small things you want to do, just tidy up things basically, right? Make sure that things are polished.

CLAIRE: 01:03:30
Where do all these discussions about what's staying in, is it staying in, should it stay in, where are all those discussions happening? Is that on the hackers mailing list or a separate release management team mailing list? If someone's listening and they're curious, like, huh, I want to know more about this, where do they go?

PETER: 01:03:50
In general, these things should be on the hackers mailing list. These discussions of this is, this patch or this feature doesn't seem to be quite ready. But the release management team has its own. I guess mailing list or email alias or something like that, where they discuss things and what exactly goes on there? I don't know this year, right? The... since it's new people every year, the style might also differ. Maybe some people just have occasional discussions. I know some teams in the past have had sort of weekly. Meetings and things like that. So there might be some like that. It is a bit, right now, I think it's a bit confusing because some of those discussions are also spread over other private mailing lists for release management and some private email threads where people send additional feedback on things. So it's a bit confusing, actually, perhaps, right now. But generally, most of this should be documented on the hackers mailing list. And if not, if people, you know, listening and trying to follow this, if it's not publicly documented, they feel, then please also ask for it.

PETER: 01:05:07
It's a bit like what I said earlier. It's not always very easy to see what views other people have. I see that a lot when I talk to people about some, you know, question or misunderstanding perhaps, or something like that. Like, well, of course it's like that, and they didn't even know that because they were somehow not involved in that thread or discussion or email, you know. If people feel they don't really see what the process is in general, in this case or in general, also please point that out. That would also be useful.

CLAIRE: 01:05:39
I know there's a question on the chat, someone who wants to hear the story or hear some perspective on the revert of SQL/PGQ for Postgres 19. So I will say that, yeah, people probably are curious, like what happened there? What's the story? I don't know that we want to dive into it here because that's probably a whole half-hour-long or hour-long discussion in and of itself. So. But it does, it does make me. Want to shine a light on the work you do as a Postgres committer, because that is one of the ways you contribute, right? If you were a contributor who just does their own thing, right, co-authors patches, that's one thing. But you also are doing patch review and helping other people get to the finish line and advising on who, I assume the existing set of committers have a process by which you decide who should be invited to be a committer in the future, right? So that's another part of being a committer, is helping grow that community, nurture, groom, advise, mentor, all that stuff. So drumroll. What's it, what's it like to contribute in that way? How long have you been a committer?

PETER: 01:07:00
I think, again, we would have to look it up, but it was quite early on, might have been. 2000, 2001, something like that. Because, again, the process was not nearly as formalized back then. So it was, I think the story was told that if you annoyed Bruce too much, then he would... so Bruce Momjian was doing a lot of work integrating other people's patches at the time, and if you sent him too many patches, then he would just let you do it himself, yourself. So that was sort of the notional process, right? If you gave him too much work, then he would pass the work to you directly. But yeah, sometimes it's easy, because you're just in the flow and you do your things and you produce nice things. But sometimes it's difficult and scary, right? Because you're in a way, a little bit on your own. Obviously, there's other people who are available in theory to help, but everybody's obviously super busy and focused on their own project and so on. And so when you then, you know, you have a patch, either something you wrote yourself or from someone else that you plan to commit, and at the end of the day, it's just you and, you know, deciding to send that out, and then it goes from you more or less directly to everybody who uses it, right?

PETER: 01:08:45
And you're tired and trying to get to dinner, and then you just do it or not. Or it's like that, right? So it is sometimes a little scary if you think about it too much. So maybe you should do that once in a while, but can also be a little bit. Not productive to do that.

CLAIRE: 01:09:05
I know that Robert Haas gave a talk at PGConf.dev in Canada. I think it was last year, so it would have been Montreal.

PETER: 01:09:14
Yeah, yeah, that was a good one, yeah.

CLAIRE: 01:09:16
And it was about, I forget the exact name of the title. I'll include it in the show notes, but it was about being a committer and what it's like. And he had these fabulous two diagrams, which he let me use in a talk I gave later at FOSDEM earlier this year. And these diagrams showed what people, going back to what you said earlier about how people might view the same thing differently and have a different perspective on it. He had a diagram of a man who looked like a king with a crown on his head, sitting there with a big smile on his face, you know, feeling accomplished. And that was kind of like how he thought people looked at committers when they had just done a commit. And then he showed another picture of a very harried person with hair coming out of their head at all angles and tears on their face and sweating and running, and this is what it actually really feels like when you've just done a commit. It's a little scary.

PETER: 01:10:14
Yeah, that's what I felt like what I mentioned earlier when you commit. You know, just before you go home. And then an hour later, you see that the buildfarm is on fire. And then you learn your lessons from that. But I think the, you said the term maintainer, I think that's maybe a better term nowadays, right? At the beginning, as I mentioned, it was almost more of a mechanical role that instead of going through Bruce often. You just do it yourself, but now. I mean, I don't know how explicit this is, but at least many people would understand it that way, and I think that's reasonable that you maintain or that you have not only the role of, you know, actually making the commits, but being somehow having a role in the community to work with others who are not committers maybe to help move their things along and ultimately mentor them to, again, mentor them to be their own committers, so maybe in some cases. And also just have a responsibility for the whole process, essentially, right? It's a very fine-tuned process nowadays with the commitfests and the release candidates and betas and buildfarms and all these things that we've built up over the years that you have a shared responsibility for and, if necessary, also.

PETER: 01:11:43
You know, evolving and improving those things. So I think that also comes with the role.

CLAIRE: 01:11:51
One of the things that I really like about working with you, and of course, we've only worked with each other in narrow ways because so much of your job does not involve me, unfortunately. You're a very good listener. And you give very thoughtful feedback. I can tell you're processing it. You're not jumping to conclusions. You're looking at it from whatever the topic is, from different angles and things like that. So I personally love working with you. And after walking through all the many different ways that you contribute to this project, I'm just going to say on behalf of the rest of the world that I thank you for what you do.

PETER: 01:12:35
Well, thank you for that. Thank you for that feedback. I... yeah, that's good to know if people think that, or if you at least you think that's good to know.

CLAIRE: 01:12:43
I mean, I can remember standing with you and in Riga, in the hallway they had those tall cocktail tables and I had my laptop open and I was showing you a proposal I had for something and you were, you took the time. You weren't harried, you weren't in a hurry, you weren't half listening, you were, you were really focused on it, so. Okay, I'm going to ask you a different question. It's what I call the toothbrush test. So my husband introduced me to this many, many, many years ago. But the idea is when you're brushing your teeth in the morning, which I hope you do because it's good for dental hygiene and all of that, are you looking forward to your work? [Let's say that, yeah.] Are you looking forward to the things you're going to be doing? And so as you think about all these different ways in which you participate in Postgres and contribute, Does it pass the toothbrush test?

PETER: 01:13:34
So the toothbrush test is, as I'm brushing my teeth in the morning, do I look forward to the workday ahead?

CLAIRE: 01:13:41
Yeah, where I mean not just EDB, but your Postgres open source community work as well. Everything, all the Postgres work.

PETER: 01:13:48
Yeah, absolutely. Yeah, yeah, absolutely. This is from the time I wake up, probably I have thoughts and plans, or sometimes I can't even sleep because that's just probably not a good sort of sleep hygiene that you go to bed with problems in your head, or sort of tasks in your head, not problems necessarily. So definitely, yeah. As soon as the toothbrushing is done and the kids are out of the house for school, I'm ready to go.

CLAIRE: 01:14:19
Well, that's.

PETER: 01:14:21
Especially because the mornings are free of meetings usually, and sort of up until the lunchtime there's free time.

CLAIRE: 01:14:29
And that's deliberate on your part, like you block your calendar.

PETER: 01:14:32
That's just the way the timing worked. That's just the way the timing worked out because most of the meetings are either with colleagues in North America, let's say, or team meetings that are scheduled in this sort of precious two hours or so where Europe, North America can meet comfortably. So that is, from starting sort of 2 p.m. my time, then there's... 2 p.m. to 6 p.m., there's. So usually meetings scattered and not really much big blocks of time. So the mornings are the good sort of creative if you want, or, you know, time to get really into the zone if you want, or things like that. So yeah, that's definitely... if it were the other way around, it would probably be a little bit more ambivalent about it. But this way, it's actually quite nice.

CLAIRE: 01:15:19
I'm actually.

CLAIRE: 01:15:27
I'm actually quite jealous of teammates and colleagues who work in Europe because I know when I'm there, let's say I go for a conference, if I stay an extra day or two and I work on the side, I get so much done in the morning until about four o'clock in the afternoon when West Coast U.S. [There it is, yep.] wakes up. And then it, then it all of a sudden my brain gets into tactical mode. But earlier in the day, yeah, you can be creative. You can, you can think about things that take a little bit longer. I'm just, I just love it. Whereas here, you wake up in California and you're playing catch up from the moment you wake up. You know, there's already so much that's happened, starting with Europe and the East Coast and anyway, time zones, I guess. All right, so if somebody is listening and they want to get involved in Postgres as a contributor. What would your recommendation to them be?

PETER: 01:16:22
I think first of all, as you have emphasized also, and there's many different ways to contribute, right? Obviously, you want to pick something that is of interest to you if you're you know, a user and you want to just talk about your work, you can become a speaker. If you're a developer, obviously you want to do some development. And various other things we talked about, right? So. It doesn't only have to be writing code and patches. In, I guess in most cases you just do it, right? It sounds a little bit simplistic, but it doesn't, there's no, you don't need permission, maybe from your boss or your spouse perhaps, but you can submit a talk or you can write a blog post or you can send a patch or you can just discuss things, you know, go to the mailing list or Discord and contribute to the discussions there.

CLAIRE: 01:17:19
Go to a local meetup. There are so many amazing Postgres user groups around the globe.

PETER: 01:17:25
Yeah, definitely. I think that's a good way to sometimes you'll meet me there or you meet some other senior developer there. Maybe that's a good contact you can make. Or just meet fellow users, so. In a way, you know, I think it should start with a genuine interest, right? If you just need to do it because you feel like it's for career development or your boss told you to do it or something like that, sure, you can do that too. It's legitimate. But if you want to do it so long term somehow. Then I think it should start with a genuine interest that you're interested in the community, the technology, or some aspect like that. And then, because then you stick around naturally. If, you know, if it turns out you have a knack for it and some talent and you get along with the people who are already there, then it becomes easy. And you just stick around naturally.

CLAIRE: 01:18:21
Are you the person who once said, come for the code, stay for the community? Was that you?

PETER: 01:18:26
No, but that's good. That's true in a way, right?

CLAIRE: 01:18:29
A lot of people do come for the open source aspect, right, or the open source project aspect, whether it's the code or just other aspects of a community. But yeah, once you meet the people, once you start working with them, once you see all the different things that need doing that you are good at, I don't know. A lot of people stay for the community.

PETER: 01:18:49
Yeah, I think you come for the code or the, you come for the code or some other task, right? That you're a conference speaker or something like that, and then you stick around because you like the event or the community, and you come back the following years and things like that. So I think, again, it should start, I think, from an interest, right? You don't come just for the community. That is probably not going to be sustainable because you don't have anything to do there, just hanging out is maybe also okay, but it's not really sustainable. So I think that's a good, a good slogan, so to speak.

CLAIRE: 01:19:24
Okay, now I'm going to put you on the spot before we wrap up. What are your favorite Postgres conferences and why? You can give conferences with an S. You don't have to give just one.

PETER: 01:19:40
I think I'm gonna say FOSDEM.

CLAIRE: 01:19:43
Really?

PETER: 01:19:44
Yeah.

CLAIRE: 01:19:45
Do you mean FOSDEM, or do you mean FOSDEM PGDay, or do you mean the combination of FOSDEM and FOSDEM PGDay?

PETER: 01:19:45
And, I think the combin- I think the combination. And because of the combination, right? Because it, well, first of all, it's a bit sort of close to my heart because it was my first event and things like that. But the useful thing there is you have Postgres content and you get to meet the Postgres community members, and sort of it's a yearly, nowadays it's sort of a yearly gathering and sort of has sort of a tactical component to it too because it's sort of close to feature freeze and so on. So that's useful, but also because you can go to all the other things, you can go to you know, sometimes just go to a random. Room for another project, and just it's what I mentioned earlier, right? You learn from them not necessarily what their coding standards are or something, but maybe that's also useful actually, but just what challenges they have in their communities, what they're working on, or maybe what issues they have with tooling or policies or things like that, or you just learn other stuff. And the combination of that, I think, is what was, I always, it sort of stands out that way.

CLAIRE: 01:20:58
Yeah, but to really benefit from FOSDEM, I think you've got to work at it. And what I mean is, you have to have looked at the very long schedule. I mean, there's usually, what, 65 different dev rooms, so.

PETER: 01:21:13
Yeah, you got to go with that. You come, yeah, got to come in with a tight plan nowadays, yes.

CLAIRE: 01:21:17
Absolutely. I remember.

PETER: 01:21:18
But you can also go to these fringe events nowadays. I mean.

CLAIRE: 01:21:22
Right, the days before, the days after.

PETER: 01:21:23
The PGDay is a fringe event, but there's also other things going on, right, before and after, like other meetings.

CLAIRE: 01:21:31
But you're right. You need a typed plan. You can't just show up and wander around and land in the right place. It's big. It's on a college campus, so it's spread across different buildings with slush and snow on the ground in between the buildings. And so you have to have a plan. I remember being very impressed by Floor Drees one of the first times I met her at FOSDEM. She showed me her spreadsheet that showed where she needed to be at all the different times, and she'd put a lot of thought into it, into, you know, what she was going to spend time on. When you said random room for another project, was it really random or did you have a plan?

PETER: 01:22:10
Well, you go in with it. Well, sometimes you go into something. I mean, you come with, you have to have a plan, but you sometimes sit somewhere and just say, I will just, I'll just listen to this because there's nothing else going on right now, and this seems kind of interesting. But then you just learn sort of incredibly, I mean, a lot of these are the dev rooms, right? That are, they go sometimes incredibly deep about things. I still remember, years and years ago, I was in the GCC dev room, but which I have no... obviously, I'm a user of, but I have no real knowledge of the internals, but it was just sort of seeing the depth of knowledge and the enthusiasm, and also just seeing some of the people who I know worked on it, right? I just knew them as a... I know they are the GCC developers, but they don't know me, right? So I'm like almost a little bit of a fan there or something like that.

PETER: 01:23:05
So stuff like that, or we were also some years ago in, I think might have also been compilers or GCC, where someone was talking about developing a COBOL compiler. And in some weird, bizarre, I have, you know, no interest in that really, but in some weird, strange way, they were facing essentially the same problems that we are facing developing effectively an SQL compiler. Sort of made sense in retrospect. So, but it's just like you pick up some stuff like that, and still remember that years later.

CLAIRE: 01:23:36
Okay, so shout out to FOSDEM and FOSDEM PGDay. News for 2027 is that for the first time, I believe, FOSDEM PGDay is going to be a two-day fringe event. It's always been just a one-day fringe event. [That's true, yeah.] And FOSDEM itself, the dates are announced. It's going to be the 30th and the 31st of January. But there isn't a lot of info yet on the website. They're evolving it and building it out. And I think maybe the call for devrooms is open right now, or is it the call for stands? Maybe the call for devrooms is closed.

PETER: 01:24:07
The call for stands and the call for devrooms is open. That's, you know, the fine people of PostgreSQL Europe are hopefully responding to those, but I think the general public. Doesn't have to respond quite yet.

CLAIRE: 01:24:20
I haven't seen the dates for P2D2, which stands for the Prague Postgres Developer Day conference, but that is usually right before FOSDEM in Prague. [That's right, yeah.] And so Tomas Vondra and the other people involved. I think deliberately align it with the timing of FOSDEM to make it easy for people to go to both. So we'll see where that lands.

PETER: 01:24:40
The few times I made it to the Prague conference, also I really liked it a lot. Unfortunately, because of the way they time it. Right before FOSDEM, I've... you know, some people do the trip from go to Prague and directly to Brussels. I've never really wanted to do that.

CLAIRE: 01:24:59
You just reminded me of another way you contribute to the Postgres project, which is some years, and I know it's not always you. I know Daniel Gustafsson, Jonathan Katz, Melanie Plageman, there's other people that have done it as well. But some years you organize one of the Postgres developer meetings, one or both, because there's usually one coincident with FOSDEM, and then there's another one tied to PGConf.dev usually, so twice a year. So, I mean, that takes work and effort and planning and thought. [That's true, yeah.]

PETER: 01:25:27
That does take a lot of work, yeah.

CLAIRE: 01:25:29
So figuring out what people need to talk about, who should come prepared, etc. [That's right.] Okay, but you answered FOSDEM and FOSDEM PGDay as a favorite Postgres conference. Do you want to give a second shout-out to anything else that you would recommend a listener?

PETER: 01:25:42
I already gave a shout-out to PGDay Lowlands here, honorable mention, so.

CLAIRE: 01:25:46
Yeah, and Floor Drees heard you, and I think she wants to quote you publicly. So there's that. And then before we wrap, my last question was, do you have any favorite Postgres blogs that you read on a regular basis that you would recommend to someone and why? And I suppose I should say blogs or newsletters, because sometimes an aggregation of different blog posts is useful too.

PETER: 01:26:14
I think just reading the Planet Postgres feed. I find that interesting because that's sort of the, everybody can basically register their blog there, so you get the whole... you get it from everybody, right? That's, in a way, what I'm looking for, just, you know, sort of serendipity, I guess, not specifically. One source, but getting sort of this random feedback, really so just to feed, or just on Mastodon, subscribing to the hashtag Postgres. Hashtag and just getting sort of random stuff thrown your way. Look.

CLAIRE: 01:26:50
I will include a link to the Planet Postgres RSS feed in the show notes for the show, and it is super useful, I agree, because so many different people, authors as well as blogs, have registered themselves there. I know that. You can't, if you had a blog post about a specific cloud implementation, a database service, those don't show up there. I think the Planet Postgres feed is limited to things that are primarily about the technology or open source in nature. So it's not everything, but it's a really interesting subset, big subset. So, all right, well, Peter, I want to say thank you. This has been really interesting for me to learn a bit more about your 25-plus year journey. I think it's more like 26 or 27, but 25 is a nice, nice even number, even though it's not even. I'm so glad you came on the show, and thank you for your time.

CLAIRE: 01:27:53
Because I know you have a lot on your plate. So, for those of you who are listening, if you like today's episode and you want to hear more of these Talking Postgres episodes, you should subscribe on Apple or Spotify, YouTube, or wherever you get your podcasts. And please tell your friends. If you leave a review, that'll help even more people discover the podcast. And you can always get past episodes and get links to subscribe by going to talkingpostgres.com. And you'll find transcripts included on all the episode pages there too, which are actually pretty useful for people who do not like to listen and just like to read the episodes. A big thank you to everybody who joined the live recording today and participated in the live text chat on Discord.

Creators and Guests

Claire Giordano
Host
Claire Giordano
Head of open source community efforts for Postgres at Microsoft. Ex-Citus Data, Amazon, Sun Microsystems, and Brown University CS. Serves on PGCA board. Prolific Postgres conference speaker. Co-creator of POSETTE: An Event for Postgres. Loves sailing in Greece.
Aaron Wislang
Producer
Aaron Wislang
Principal Software Engineer (Open Source Engineering + Azure Core Upstream) at Microsoft + Azure ☁️ | Go (golang), Cloud Native, Linux 🐧 🐍 🦀 ☕ 🍷📷 🎹 | Toronto 🇨🇦🌎 | 💨😷💉 | https://aaronw.dev/hello/
25 years of contributing to Postgres with Peter Eisentraut
Broadcast by