How I got started in Postgres with Magnus Hagander
Download MP3CLAIRE: 00:00:05
Welcome to Talking Postgres, a monthly podcast for developers who love this database. I'm your host, Claire Giordano, and in this podcast, we 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? Thank you to the team at Microsoft for sponsoring today's community conversation. And without further ado, today's guest is Magnus Hagander. He is a Postgres database lead at Redpill Linpro, where he works with customers to advise and support their Postgres workloads. He is a Postgres committer and serves on the Postgres core team and the infrastructure team. He's chair of the PostgreSQL Europe nonprofit that coordinates advocacy in Europe, co-organizer of PGConf.EU since 2008, very involved in the Nordic PGDay conference as well. And this is my favorite part, an avid sailor who lives in Sweden, and he's been involved with Postgres since the late 90s. Welcome, Magnus.
MAGNUS: 00:01:12
Thank you, thank you. That was a long list of circles in the Venn diagram.
CLAIRE: 00:01:19
Yeah, I never know what to do. Some podcasts just dive straight into the conversation, and they don't even introduce the guest because they feel like, ah, people want to get straight to the meat of things. But I feel like it's useful for anyone who doesn't know you yet to get a feel for all the different hats you wear. You wear a lot of hats.
MAGNUS: 00:01:40
I do, sometimes too many, but it's also a lot of fun hats, so.
CLAIRE: 00:01:47
All right, well, today's episode's topic is how I got started in Postgres. And so that means we're going to start with your origin story. So not so much where you were born, although that might be interesting, but how did you get started as a developer and with software and computers?
MAGNUS: 00:02:08
So with computers and software in general, I don't fully remember like this. It was a very long time back. You know, we had a computer at home. Of course, everyone else had the cool computers you could play games on. We had a PC that you could write programs on because there weren't really any good things around for it. So that's why I ended up starting to write my own stuff, I guess, rather than that. And then you'd go visit your friends to play the fancy graphical games.
CLAIRE: 00:02:38
Is fancy graphical a bit of a euphemism, or were they really fancy and graphical?
MAGNUS: 00:02:43
I mean, they were very fancy at the time, but by today's standards, obviously, no, they were not.
CLAIRE: 00:02:51
Yeah, by today's standards, they're probably a bit retro.
MAGNUS: 00:02:54
A little bit, just a little bit.
CLAIRE: 00:02:57
Okay, so computer at home, started to program, built some games. What was the next step?
MAGNUS: 00:03:09
I think a lot of it came really sort of, it was that for a while and then, you know, the internet showed up and gave you a lot of collaboration and interesting things, and somewhere pretty close to that. I mean, at the beginning, yes, it was sort of signing up to Usenet and reading newsgroups and things. But I latched on to learning a little thing about Postgres pretty early on at that point. Not using it, but somehow it showed up in the threads to be read. I guess at the time when I started with that, I'd sort of got a side job alongside of high school, dealing with getting computers to run in general for different small organizations.
CLAIRE: 00:04:01
So wait a minute, you got exposed to Postgres when you were still in high school?
MAGNUS: 00:04:07
Right, sort of just after, I think, or, yeah, right around that time, or exposed to Postgres, I should say. I did install it and more or less failed to run it, and this was in the Postgres 95 days. So I managed to run it. At the time, I didn't really know anything about databases. So I don't think I used it very efficiently or very usefully really at all.
CLAIRE: 00:04:35
I was looking up your background and I saw that you went to the Royal, the KTH Royal Institute of Technology, which I assume is in Sweden.
MAGNUS: 00:04:47
It is. It is in Stockholm.
CLAIRE: 00:04:49
But what I don't know is, did you study art or did you study software or what did you study while you were there?
MAGNUS: 00:04:56
I started at electrical engineering and rather quickly switched over to computer science. And basically the first year, I think, was identical except for a week of course. So, and after the first year, I switched to computer science.
CLAIRE: 00:05:14
Okay. Was that an agonizing switch?
MAGNUS: 00:05:18
No, not at all.
CLAIRE: 00:05:19
An obvious thing to do.
MAGNUS: 00:05:21
It was an obvious thing to do at the time, yes.
CLAIRE: 00:05:25
All right, so I still think we want to understand your first involvement with Postgres a bit more. Can you, I mean, I'm looking for more detail, but that assumes you remember it because obviously it was a little while ago.
MAGNUS: 00:05:40
It was a little while ago. I mean, the very first, yeah, the first exposure was around that time. Then it really went a few years. I didn't really use it properly, you know, when it was Postgres 95, a few years passed, and then my first sort of real use was, I think the classic I was working at this part-time job, needed a database to solve a problem, could not afford SQL Server or Oracle, which were the other options. Went looking for something that I could do because I wanted to solve a problem that nobody agreed was a problem, so nobody would assign a budget to it. And I mean, that's a classic, at least at the time, right? That was why people went to Postgres. Either it was because out of university and you wanted to do see the insides of the database, or it was because you needed a real database that did things like transactions and stuff properly, and you couldn't afford the commercial ones.
CLAIRE: 00:06:42
Okay, and this was a part-time job while you were at university or after you graduated?
MAGNUS: 00:06:46
Yes, this was while at university.
CLAIRE: 00:06:50
Okay. Would you describe yourself as stubborn? I mean, it's kind of interesting that people didn't want to assign budget to it, but you thought it was a problem that needed to be fixed, and so you went off to find a way to address it. Was stubbornness a part of why you got involved with Postgres? I'm fishing for drama.
MAGNUS: 00:07:13
To a point, and really it was more also the whole, I knew that I could make my life easier this way and other people's as well, but obviously there is a level of selfishness to all of those things. So by getting a solution to this problem, my life would be easier, therefore I would go do it even if nobody would actually assign a budget to it.
CLAIRE: 00:07:38
Now I'm assuming you were successful in this. Am I right?
MAGNUS: 00:07:42
Yes, yes. That is true.
CLAIRE: 00:07:45
Well, because it might have been a big failure, and then you might have come back and made another run later at Postgres, so.
MAGNUS: 00:07:51
Yeah, no, no, that part is true. That's it, it was successful and then I guess I didn't really do a lot of— I ran some small things on Postgres on the side, and then I got involved more on the community side in the Postgres project, as many did, particularly at the time, more on the hobby side, right? Because having had this first exposure and, you know, getting into the, at the time, mailing lists was the way to go, right, or possibly newsgroup, talking to these people and realizing that there is so much in this community that I can learn, which is what kept me going in my free time on the hobby side is just the incredible amount of things to learn from all the other people that were part of the community at the time.
CLAIRE: 00:08:42
And you're still in university at this point, right?
MAGNUS: 00:08:46
I mean, yes and no. Yes, formally, in practice, maybe not as much.
CLAIRE: 00:08:55
Got it. And I read somewhere that you were part of the Windows port for Postgres, but that might have been later. So maybe there's a few more steps of your involvement with Postgres. And I'm also not sure when you got to Redpill Linpro and when you started using Postgres in your day-to-day job that you get paid for. So don't let me jump ahead here. I kind of want to do this linearly if we can.
MAGNUS: 00:09:26
Right, so no, it's true that the timing isn't, we're not there quite yet, but it started off sort of as a user. In fact, I had a single, the first thing that I know, and I don't know when at this point, my first actual sort of code contribution to Postgres was a single line patch to a file somewhere around this time. I'm not entirely sure where. I don't have the email anymore, and not really knowing and understanding how communities worked, I just emailed it directly to one of the maintainers at the time, who just applied it and done. And it does not carry my name. So therefore, I don't remember exactly when that was. And it was at the time, you know, it was a one-line patch to make Postgres compile and work on Linux, because all the developers at the time used BSD.
MAGNUS: 00:10:19
And there was an include file that, I think the include file was in a different directory or something like that when you wanted to build it on Linux. So that was the original, the very first thing, and that was just to run it for sort of these side projects. The larger projects that I then got involved in later on was first actually the work on porting just the Postgres client to Windows because I needed it.
CLAIRE: 00:10:47
And you needed it for what?
MAGNUS: 00:10:47
Right. I needed it for one of my work projects where we had the database, and to get it to the next stage, classic organization at the time, everybody ran Windows on their desktop machines, and I needed to get others to use the system, therefore it had to run on Windows. And that was a relatively small project. Then a couple of years later, I got involved in the group together with Bruce Momjian and a guy named Claudio, who sadly, I think we never really saw after this project, but to port the actual database server to Windows. That was my first really large project to get involved with when it comes to development on Postgres.
CLAIRE: 00:11:36
Okay, and did we skip any important steps? And actually, I want to wind back to that very first real use where you had a part-time job and you couldn't afford SQL Server or Oracle, and you wanted to use Postgres to address that problem. Do you remember what that was about? Do you remember what that itch was?
MAGNUS: 00:12:01
I think what mostly assets and users, having a centrally managing assets and users instead of copy pasting things. I think was so a very, really a very simple use case, but there were parts to it that really needed the concepts of transactions to be trustworthy.
CLAIRE: 00:12:26
Got it. Okay. Then let's talk about the port a few years later with Bruce Momjian to port to Windows. I don't know. I don't have a feel for how much time that took, how big the scope was. Tell me more.
MAGNUS: 00:12:46
I mean, I think particularly compared to typical Postgres projects of the time, it was one of the really big ones. Now, it came out in Postgres, what became Postgres 8.0, which had a couple of other really big things to it, like it's the first version that had point-in-time recovery and things like that, that were also sort of moving the project along into more of the ability to be used by actual company structures rather than hobbies. So I don't remember exactly. We probably spent— In total, it was probably over two years. I was not involved at the very beginning in some of it. In particular, this Claudio guy had done a lot of the work on some parts to it, but we also had the constraint that we had to do the port without affecting how Postgres worked anywhere else, and without making Postgres work completely different. For example, at the time, there was a Japanese version of Postgres that already ran natively on Windows, for example, and it used threads because Windows is natively threaded, and Postgres used processes, as it still does today, as everybody knows, right? So we had to write this whole sort of emulation, or not really emulation, but compatibility layer to make Postgres on Windows behave like Postgres on Unix.
MAGNUS: 00:14:17
So for all sorts of different things. It was a large project. The interesting thing we had for it, it really was an efficient one, right? Because I am based in Europe, in Stockholm, right, and Bruce Momjian is on the east coast of the U.S., and Claudio is based in Australia. [Oh boy.] So we really had the overlapping-wise, sort of at one time of the day I got to talk to Claudio, at another time of the day Claudio got to talk to Bruce, and at the third time Bruce got to talk to me. But we never got to talk, all together, sort of at the same time, but it also meant we had somebody working on the project all the time.
CLAIRE: 00:14:56
I organized a Postgres 19 hackers panel earlier this year to talk about the whole Postgres 19 development experience. And it was actually before things got dramatic, right? Because we recorded this back in early May or something like that. But the committers who were on the panel were Álvaro Herrera, Heikki Linnakangas, Melanie Plageman, and Thomas Munro. And so you know where those people live, right? So we had someone in East Coast United States, someone in New Zealand, someone in Germany, and I think Heikki must have been in Finland, right? So big time zone changes, and it was a challenge to find a time that could work for everybody, and it was super early in the morning for Thomas, but it was super late in the night for Álvaro and Heikki. Time zones are a thing.
MAGNUS: 00:15:46
Yep, I think that it's one thing that probably made that easier back when we did this, right, is when we say most of the communication was very asynchronous, right? It was email-based communication back in the time. Yes, there were some chats, but the majority of things were really emails back and forth, which works better when you're not actually around at the same time, because you have an expectation, right? Certainly, if you're sitting on a panel, you're sitting in a call, you expect everyone to be around right now. And if you're on a chat, you expect everyone to be around maybe almost right now. But with an email, you're phrasing, you're planning things out for people not to actually be around at exactly that time.
CLAIRE: 00:16:31
Do you find that you still appreciate that about the Postgres community? It's almost like a follow the sun model. The fact that you can send something and go to sleep and then wake up and there might be replies or forward progress. Is that still something you rely on?
MAGNUS: 00:16:48
Not as much, I'd say. Not, I think we've all sort of, we've shifted along with the tools that are available now, but to some extent, yes.
CLAIRE: 00:16:59
All right, and then when you worked on the port to Windows of the actual database server. Were you at Redpill Linpro yet, or did that come later?
MAGNUS: 00:17:11
That came later. At this point, this was sort of a side job, that idea. I had, at this time, I had sort of the blessing of management to spend free time, otherwise not allocated to something I could spend on this, and other than that spend non-work time on it.
CLAIRE: 00:17:30
Okay. When I look at your official LinkedIn profile, because you didn't have to submit a resume in order to be on the podcast, but I did do a little bit of homework, and it looks like March 2008 was when, I don't know, you got involved in probably creating the PostgreSQL Europe nonprofit foundation, and it was also when you joined Redpill Linpro. And so, and I think PGConf.EU didn't happen until the next year, at least not according to LinkedIn. It says January 2009. In terms of becoming an organizer, obviously the event didn't happen in January, as far as I can remember. So clearly something happened in March 2008. There were a bunch of changes or new initiatives in your life.
MAGNUS: 00:18:28
Yeah, and I think if I'm correct, so the PostgreSQL Europe actual nonprofit organization was founded formally during the FOSDEM conference, which was in February. We had decided beforehand that we wanted to do it, but formally that's when we gathered, as you do to form a new organization, right, gather everybody into a room, agreed to do it, and held an in-person vote for the first board of directors at that point. So that was before I started at Redpill Linpro, or at the time we were just Redpill, but it was after I had decided to do so. So it was in that period. And then, let's see, PGConf.EU formally got started in 2009. In 2008, we had a European day at the Italian PGDay in Prato in Italy. So the day before, a group of us from the rest of Europe had basically decided to invade the Italian conference, because they foolishly announced it to the public list saying, hey, we're running a Postgres conference for one day over here. So we all decided to go, which surprised them. But then during that was when the discussions got started and, hey, can we do something across all of Europe? So the next year, in 2008, we had, they had a one-day Italian followed by a one-day European.
MAGNUS: 00:20:03
So we did sort of a day attached to their conference in the summer of 2008, and then in 2009 is when we had the first dedicated European event.
CLAIRE: 00:20:15
Now, I know that some people are really interested in history. I was lucky. I went to a university that didn't have core curriculum requirements, so I used to brag about how I was pleased with myself that I didn't take a single history class. And in hindsight, I regret that. But the point is, you gave a really interesting talk at the beginning of PGConf.EU this year, a couple of weeks ago in Valencia, and it was kind of your happy 30th birthday talk. It was in your introduction to the whole event, and you did share some photos and some of the details about the early PGConf.EU days and everything you just described about that event in Italy. So my question is, was that recorded? Is that going to be published online at some point in the next month or so?
MAGNUS: 00:21:08
I don't think so. We generally don't record and publish the opening and the closing, because usually the opening is just the practicalities. It doesn't normally have this.
CLAIRE: 00:21:21
Yeah. Here's where you find the bathrooms, and here's where the coffee is.
MAGNUS: 00:21:24
Yeah, exactly. Which is very important. Coffee and bathrooms are very important details, right? And that's not something worth recording.
CLAIRE: 00:21:33
Oh, that's too bad because your intro this year was definitely worth recording, and I always love the recap, the thanks for all the fish session that you and Dave Page do at the very end. There's something about the two of you together and your sense of humor that make it fun. Maybe next year you can record those.
MAGNUS: 00:21:55
Yep, and we'll see. Maybe there is something in the sort of the recordings that aren't matched to any presentations, if there's something we can extract from there.
CLAIRE: 00:22:04
Or maybe at least upload your slides, because there were some cool photos in the slides that you shared.
MAGNUS: 00:22:09
The photos were, I mean, credit where due, the photos were all in the closing slides. There were very— there was like a photo from an early PGConf.EU in my slides. The first appearance of the Slonik suit is the only one that I had there.
CLAIRE: 00:22:29
All right, so a lot happened in 2008. There was this meeting at FOSDEM. You decide to form the nonprofit for PostgreSQL Europe that I think eventually leads to the creation of PGConf.EU, or at least—sorry about that—at least as a contributing factor. You join Redpill, not Redpill Linpro, but Redpill. Postgres is now more part of your life. Have you made any Postgres friends yet at that point?
MAGNUS: 00:22:59
Maybe one or two. I mean, that's, yeah, a large group of friends over the years, some already from way before I started at Redpill. Obviously something like the Postgres Conference Europe, or just in general, Postgres conferences started in 2006, right, with the anniversary summit in Toronto, and that was really the first chance to meet with most people in person. I think before that I had met with Bruce Momjian and Dave Page, and that was it prior to this conference, and then sort of everybody started to pile on from there, because, you know, if you're making, it's a lot easier to make actual friends when you meet them in person.
CLAIRE: 00:23:49
And wait, Dave Page and who? Did you say Bruce?
MAGNUS: 00:23:53
Bruce Momjian. Yep.
CLAIRE: 00:23:54
Okay. And when you say the anniversary summit, 2006, I'm just doing the math in my head. That's the 10-year anniversary summit, right?
MAGNUS: 00:24:03
Yes.
CLAIRE: 00:24:04
Yes. So 10 years from when the project was first open sourced. I saw some conflict out on the internet the other day about, because we've all been making a big deal this year that Postgres has turned 30, or it's the 30th birthday. And people don't always finish the sentence, that it's the 30th birthday of when the Postgres code was open sourced, right? When the open source project began. And so somebody who was involved in the technology earlier was like, wait a minute, it's actually 40. What are you guys talking about? And there was a little debate.
MAGNUS: 00:24:38
Yeah, I'm not sure even that one is entirely correct, because at the code was still available open source in the Berkeley days before that, right? But it's the open source project was 10 years then and is 30 years now, right? It's when, and it's when it became PostgreSQL. Left what we refer to as Berkeley Postgres before then.
CLAIRE: 00:25:06
So the beautiful name PostgreSQL, which can be pronounced and spelled in multiple different ways.
MAGNUS: 00:25:12
Oh yes.
CLAIRE: 00:25:15
I like the Tom Lane email where he's like, I think this is the worst mistake the project has ever made or something like that. I'll link to it in the show notes.
MAGNUS: 00:25:25
Yeah, it's a good one, and, you know, if that is the biggest mistake we've ever made, which to a point I can agree with, I think that really does put us in a pretty good position, because it's an annoyance, and I'm sure it's actually, if you started to analyze what, you know, it's probably cost people because they created incorrect marketing materials and things like that. But in the great scheme of things, it's an annoyance rather than a massive problem. But it is an annoyance.
CLAIRE: 00:25:55
So, as I ask you all these questions, I think what I'm, the vibe I'm getting is that there wasn't a single trigger that caused you overnight to become involved to a serious extent in the Postgres project. It kind of feels like it happened little by little over time. Over a period of years, in fact.
MAGNUS: 00:26:20
That is absolutely right. It's something that grew on me. Then obviously then in 2008, when I started for Redpill, that's when I got to work with it full time, and that changed the parameter some. But in other ways, it was just a continuation of that path because, yeah, definitely it was not a one event.
CLAIRE: 00:26:39
And when you say work with it full time, my understanding of your work at Redpill, and, oh, you're going to have to correct me in this because I don't even know where I got this understanding from. But you are an advisor, a consultant. You're deeply knowledgeable about how to use Postgres, what the features are, how to configure it, what the challenges are, and so you help your customers in their use of Postgres, whether that's on-prem or some of them presumably run in the cloud as well. Is that right?
MAGNUS: 00:27:15
Yep, that's pretty much right. [Oh, where'd I get that?] So Redpill Linpro is a traditional, if you will, the way traditional open source services company. So within the scope of Postgres, we do consulting, we do training, we do support agreements. We have people who can run your database for you if you, or if you run it on one of the big clouds, we have people who can help you do that, sort of all sorts of services packaged around Postgres. But we're fully, we don't have our own version of Postgres. We just use, you know, Postgres. And then, of course, the various cloud ways of running Postgres these days.
CLAIRE: 00:27:58
So your day job involves Postgres and working with customers, and then you also spend a lot of time contributing to the community. And I want to dive into your role on the nonprofit, PostgreSQL Europe, because you've been president of that for a very long time now. Your work on conferences, which include PGConf.EU and also Nordic PGDay. We have to talk about Nordic. And then we should also talk about your work on the infrastructure team. And then the core team. Like I said, you wear a lot of hats.
MAGNUS: 00:28:32
Too many hats.
CLAIRE: 00:28:34
Where do you want to start?
MAGNUS: 00:28:35
Ah, pick one.
CLAIRE: 00:28:40
Nordic PGDay.
MAGNUS: 00:28:44
Right, so Nordic PGDay is, well, for those that don't know, that's one of these. We have them all around, particularly, I think, in Europe. We have a pattern of them, but like a single day focused event that is smaller, we're not trying to build a competitor to PGConf.EU, whatever. We have our PGConf.EU that is a big event across all of Europe, and then we have these local PGDays that attract, or try to attract, people who otherwise couldn't go, both because we come to them, we're closer to the people, and also it's a one-day thing, not a one-week thing. So for people who are maybe not full-time Postgresing, it's a lot easier to get approval from your boss to be allowed to go if it's a shorter event. So Nordic PGDay, we got started, I think it was 2014, so it has been a while now, that one as well. It was primarily was me and Daniel Gustafsson. It was one other guy who helped out named Claes Jakobsson. He hasn't really been involved in the organization past helping us getting it off the ground initially, so. We got that one started.
MAGNUS: 00:29:56
We called it, we named it Nordic PGDay already from the first year. We had no idea what it was actually going to be, but we started it in Stockholm because we live in Stockholm. And we started booking a venue for 50 people, and we got about 100. So we had to expand as much as we could within said venue, which we learned later led to a pretty bad experience for some people because the venue really couldn't do 100 people well. But it sort of set the tone that, whoa, there is a real demand for this. So we decided on that. So we now continue to the point where we're running it across the four largest Nordic countries, which is we rotate between Stockholm, Copenhagen, Helsinki and Oslo, and we just go around, one year at each, so we come back every four years.
CLAIRE: 00:30:53
Yeah, so I've had the privilege of speaking in Copenhagen. I think that was 2019, and Oslo in 2024. And I, the vibe at Nordic PGDay is just really fun. I think it's the perfect size, perhaps, right? Not so big to be overwhelming, but also much bigger than a meetup, with people from all over and not just the Nordics attending. Although I imagine the majority of people are from the Nordics. Am I right?
MAGNUS: 00:31:25
The majority of the attendees are definitely from the Nordics. Every year we end up, or not every year, actually maybe every year, we end up in this little discussion of, well, you know, what about the Baltic countries? What about we got a lot of people from Estonia and Latvia, for example, as well. Aren't they the Nordics? And, you know, shouldn't we put the conference there? So there are a few things around that. But it's definitely the Nordic countries are the majority, get a fair amount of Germans, and I think a trick is also once you get to these sizes of a hundred or more you can attract. So even if the attendees are locals, it's still interesting for speakers to come in from all over Europe or, as you know, in some cases from the U.S., for example, to speak. That probably wouldn't happen if it was an event of 35 people.
CLAIRE: 00:32:15
And you have, I think there's another organizer as well, Georgios Kokolatos, right?
MAGNUS: 00:32:20
Yes, Georgios joined the organization a few years ago. Originally it was just me and Daniel, and then we realized that we need more people. And we've already worked with Georgios, so we started the classic, we pulled him in to be a volunteer, and then we promoted him to work more on the call for papers, and then we roped him in to be on the organization, and now he has no escape.
CLAIRE: 00:32:45
So Daniel works at Microsoft, so he and I are connected through multiple... through the community as well as through our Microsoft work. And he was telling me the other day that you guys are doing something different with your sponsorships this year, which I think is really cool. So for sponsors who want to sponsor Nordic, they're also sponsoring a fall event that's in, is it Gothenburg? Is that right?
MAGNUS: 00:33:11
Yes, this year we're doing a trial run. We'll see how well it works. Hopefully it does, because we've been discussing these: should we only go to the capital cities, you know, only Stockholm and Copenhagen and Oslo and whatever? What about the people who are in the sort of slightly smaller cities, but still big enough that we think we can draw a crowd? In Sweden, the obvious example there is Gothenburg. So we're trialing it in Sweden, where we're planning to run a smaller event there, and we're intentionally putting it half a year away or so, putting it in the fall. It'll be a smaller event in that the Stockholm event will have two tracks, the Gothenburg event will have a single track, so we're slimming it down a little bit. The Stockholm event has an exhibition hall with sponsors on site. The Gothenburg event will not have an exhibition. It'll just be the track, and there will be flyers and stickers and things from the sponsors and perhaps presentations, but a smaller one where we are hoping that that will be attractive enough to bring in people who otherwise would not come to Nordic PGDay. And if it's successful, we intend to continue this with doing sort of a primary and a secondary city in each of the Nordic countries.
CLAIRE: 00:34:32
I don't know if you know this, but this model of having a single sponsorship that sponsors a main event plus some auxiliary—auxiliary, am I pronouncing that right? Auxiliary. I can't even say the word. Aux events, aux, that's something that PGConf India does as of, I guess, a year ago. So the sponsorships of PGConf India 2026 include sponsoring the PG Pune one-day event and the Hyderabad Postgres Days two-day event. But it's a single sponsorship, and as sponsors go, that's really nice because it's less paperwork, it's less billing, it's less effort, and you get to reach people in three different places. So I actually, I'm hopeful that your experiment works out. And I know it seems to be working out for the India team.
MAGNUS: 00:35:29
Yeah, I am too. I was not aware that the India team was doing it, but it certainly sounds like a smart thing to do. I think the trick is only to find the balance of what you're covering, right? There has been discussions about doing something across sort of all European conferences, because Nordic PGDay is formally organized by PostgreSQL Europe as well, as is the German conference, the Paris conference, the Lowlands conference, these are all actually organized by—[UK?] UK as well—yeah, they're organized by PostgreSQL Europe. UK is a little bit special. There is an actual, there is an events management company called Slonik Enterprises that actually runs it, but it's run by PostgreSQL Europe, and it's under that company because the UK is not in the European Union. So we need somewhere in that jurisdiction, right? Technically, Norway is also not in the European Union, but they're in whatever the abbreviation is for what they're in.
MAGNUS: 00:36:33
They're closer ties than those. But the idea is, if you want to get a sponsorship that covers all of Europe, you're probably limiting the number of sponsors who are interested in that. Large companies like Microsoft as an example would probably still be interested. But a bunch of other companies might be, no, we are only interested in the French market or in the German market, for example, and they wouldn't want to go in across all of Europe. But our idea here is, well, we're focusing on the Nordics. If I would say it's unlikely that a sponsor would be interested in Stockholm but not Gothenburg. These are so close together, both business-wise and geographically, that it just makes sense.
CLAIRE: 00:37:19
All right. So since we're on the topic of conferences, the natural place to go is talk about the PostgreSQL Europe nonprofit and PGConf.EU, which you've been an organizer of for as many years as I can remember. But actually, I want to pivot. I don't want to do that because some people who are listening are big fans of these conferences, and they could listen to us talk about it for an hour. But there might be other people listening who would be more interested in the work that you do on infrastructure, which I don't even think people realize how much of the infrastructure that runs the Postgres organization is self-managed. And, you know, some people probably don't even realize that our source code isn't developed in GitHub. There's a GitHub mirror, but it's not developed in GitHub. So, I don't know. Talk to us about infrastructure.
MAGNUS: 00:38:15
I think it's one of those things, yeah. A lot of people don't realize how much there is to it, and a lot of them don't realize, in some cases I think also not why it's not done, right? And I think it's, I mean, it's a separate discussion on exactly the development models, but the Postgres project has always been self-hosted since it left Berkeley. It was originally on a bunch of machines that were sponsored by Marc Fournier, who was one of the original core team, the original group of people when the project left Berkeley. He had a hosting business, so he sponsored with some virtual machines basically for the project to run its stuff on, and ever since then it has been running self-hosted. The reason for it, I mean, there are numerous reasons. I still vividly remember the days when we were told in no uncertain terms that the project was completely doomed unless we immediately moved to SourceForge, because everybody forever would only ever be using SourceForge. And we all know what happened to that.
CLAIRE: 00:39:25
Well, I imagine there's a bunch of people listening who've never even heard of SourceForge, so.
MAGNUS: 00:39:30
They were, I mean, they were sort of, I guess they were the GitHub of the time, and then they never got to the point of being successful enough, so they started being ads, more and more ads. At some point they started injecting ads in the downloads from projects and things like that. So people, you know, there was an exodus and— There were issues with, well, where do we go now? There have been other projects, like, well, our hosting went away, what are we going to do, kind of thing. And the central Postgres project has always felt that they wanted to be in control of those things. Now, as you say, we have a GitHub mirror today. There are discussions that always around people saying, well, why don't we use the GitHub workflow for development, which is in a lot of ways a different question, right? You could do both, but the core thing that the project has wanted is the control, the ownership of the problem, if you will.
MAGNUS: 00:40:31
We've had a few things that have not been running on the infrastructure, and most of them have at some point or other started causing problems. I think when it comes to things like GitHub, for example, today, we're probably—they're not going to go away. But we have had cases, so all the infrastructure for Postgres is obviously sponsored by someone. Hosting is given to us for free in different places. And we had, was it two years ago, we had one of our large providers suddenly exited the market. And we're like, you have a couple of months, and then everything gets powered off. But given that we ran our own things on them, we could migrate everything to hosting elsewhere, which is the reason for doing it. If a provider goes away, we as the project are still in control of our own fate, so to speak.
CLAIRE: 00:41:31
And you're hosting, you're managing the infrastructure that sits behind the mailing lists, right? Which means you're dealing with mail servers.
MAGNUS: 00:41:39
Oh yeah, that's one of the least fun parts. Mail is hard, but the things we have are working pretty well. There are obvious usability issues to email at the volumes that many of our mailing lists are dealing with today. But technically, the delivery is working pretty well. So yeah, there is, we got everything from mailing lists, obviously the websites and the downloads and you know, there is a wiki, there are conference management systems, there's all sorts of stuff.
CLAIRE: 00:42:18
I mean, so I'm looking at a slide that I created in collaboration with Daniel Gustafsson for PGConf.EU last year, where I talked about all the contributions behind the Postgres 18 major release. And the title of it is, Who serves on the sysadmin team? And I think that's, is that what we're talking about when we talk about project infrastructure? It's the sysadmin team. Am I right?
MAGNUS: 00:42:43
Yes. Yes.
CLAIRE: 00:42:44
Okay, and I don't know if there's been turnover in the team, but the people on that team a year ago were yourself, Álvaro Herrera, Stefan Kaltenbrunner, Dave Page, Joe Conway, Christophe Pettus, and Yogesh Sharma. Is it? Has it's probably, maybe it's changed.
MAGNUS: 00:43:03
It has not.
CLAIRE: 00:43:04
Or is that about? Okay, so that's about right.
MAGNUS: 00:43:06
But that must have been, that would have been rather soon after Yogesh was added to the team. He's the latest addition to the team.
CLAIRE: 00:43:15
Okay, yeah, that was October 2025. And then obviously the PostgreSQL.org website, I have a whole list of all of the different sites, the mailing list infrastructure, PostgreSQL.org email, because I guess all the committers, right, have an email address on PostgreSQL.org and the board members and things like that. The Git mirror, the Commitfest subdomain, the buildfarm subdomain, Babel, which is for the error message translations, right? And then the wiki. So, and maybe there's more. Maybe those are just the majority, the most visible sites and domains and subdomains that I put on my slide. Tell me, is there more?
MAGNUS: 00:43:58
Yep, I think that's right. That's the top of the iceberg, right? Yeah, I mean, even, for example, the downloads, where the Postgres infrastructure itself hosts obviously the Postgres source code itself, and also all the apt, so apt for Debian, Ubuntu, and things like that, and the RPMs for Red Hat and Fedora and SUSE. All of these are hosted by us to make sure that they're always available and that nobody injects ads into our installers. The big exception is the Windows installers, which are hosted by EnterpriseDB at this point. But everything else is hosted there. And then the support, for example, the management systems for different conferences around the world. We run a bunch of those for, we run for PostgreSQL Europe, obviously, but for Postgres US, for the group in Canada, etc.
CLAIRE: 00:45:02
Yeah, I love the user interface improvements that have been, that you guys have been making to the conference websites in the last couple of years. It's really been nice, so.
MAGNUS: 00:45:15
They are, they, let's say they're great, aren't they? That's what happens when you find somebody not me who does it, who does a way better job than me.
CLAIRE: 00:45:24
Is that somebody Chris Ellis? Is that, has he been involved in that?
MAGNUS: 00:45:27
A lot of the ones in Europe have been Chris Ellis, but if you look, for example, at the Canadian conference, it's Kaiting who's doing that. So there's different people in different places. I don't actually know who does the U.S. ones these days, but the point being, you should do what you're good at, and graphical design or something, that is not what I'm good at. So I'm very glad to leave that to others.
CLAIRE: 00:45:54
I will include in the show notes a link to a talk that you gave, speaking of the Canadian conference, at PGConf.dev 2025, which is that annual development conference that brings together contributors, community members, committers from all over the world once a year. And people tend to commiserate on the release that is kind of getting to feature freeze and also start to collaborate on the next release, right? Anyway, you gave a talk, and it was called "postgresql.org: The hidden parts," and I really enjoyed it because you explained, like you're starting to hear, but you went even deeper into why we do this. Because people sometimes scratch their heads and, like, why are you incurring that headache? Why don't you let the management of the infrastructure be someone else's problem? Why don't you put it in the cloud? And so you talked about the why, and you also kind of shined a light on all the work that's involved and— You probably also said, if any of you want to help, feel free to contact me. So it's a good talk, and I will link to it.
MAGNUS: 00:47:03
Thank you.
CLAIRE: 00:47:06
All right, so we should probably switch gears from infrastructure, except, I don't know, have there been any particularly exciting stories in the infrastructure space in the last couple of months that you want to share?
MAGNUS: 00:47:19
Not really. A lot of the things that are happening there are now are battling AI agents that are basically, overloading pretty much everything on the entire internet and flooding everything everywhere. So a lot of our sort of some of our site systems that are really just for Postgres, like our buildfarm, for example, has done just fine until AI agents showed up, and suddenly you need to optimize it in a whole different way because they're not following the rules. You put these, the good old robots.txt that you'd put on a site to tell search engines what they're allowed to do and what they're not allowed to do. None of the AI systems care about that. So now you need to put more defenses in place for a bunch of these things. And unfortunately, that's what a lot of the work has been around recently.
CLAIRE: 00:48:17
Yeah, I feel like that that's an evolving space though, because obviously the AI agents can also help people, right? Access information that was difficult to access previously. And so I just feel like we're in this in-between state where they were—it was like the wild west, and it's going to have to be a little bit more controlled so the people managing the infrastructure don't suffer, but also so people who need access to data can get it more efficiently. Am I— Would you disagree? Is that too Pollyanna of a perspective?
MAGNUS: 00:48:56
No, no, I think you're right. In general, some of this is just, yeah, nobody looked at the data before, or very few people looked at the data before, and more people are looking at the data now, and in that regard it's probably a positive, right? Once you manage to actually deliver it, but as you say, more people get access to the information and can do more things with it, and that part is definitely a positive. But sometimes it's the how it's done that needs to be a little bit more polished, or I say, a little bit less wild west.
CLAIRE: 00:49:33
Okay, so let's switch gears. From infrastructure then, since I was fishing for some dramatic story and doesn't sound like there is one at the top of your head right now, besides, like you said, the onslaught of AI agents. PostgreSQL Europe, the nonprofit, which you've been involved with since 2008. So coming up on 20 years, what's that like? How much of your time does it take? Do you enjoy it? Is it, clearly it's making a difference. You've presided over, not that PostgreSQL Europe gets all the credit, but there's been a lot of growth to the Postgres technology in that time frame, for sure. And PGConf.EU has grown dramatically, as have all these other events.
MAGNUS: 00:50:23
Yeah, it certainly has. And, yeah, it's a very different world. When we started it, then I don't think we could have ever imagined things like we'd put on a conference for 750 people over four days, and with budgets that were counting into the hundreds of thousands of euros. That is not what we were thinking when we were sitting outside the city wall in Prato, where the local Linux user group had a bar in the middle of the wall, that when we just sat around and said, hey, we should start a nonprofit and start doing this, right? I don't think any one of us would have expected that. So the growth has been tremendous. At the level of PostgreSQL Europe itself, sort of at the core, it's kind of the same as when we talk about the Postgres core team, which is we mostly do the boring stuff, right? Doing PGConf.EU, doing Nordic PGDay, that's fun. That's the good stuff, but that is not necessarily, that's just something that PostgreSQL Europe is there to facilitate.
MAGNUS: 00:51:28
Now, it is our flagship event, and a lot of the people, or I would say all of the people on the PostgreSQL Europe board are also involved in it. But it is mostly a separate thing. So when it comes to PGConf.EU, some of the most important things that PostgreSQL Europe does is say no, sadly, but, you know, make sure that the budget is maintained, make sure that we're not missing on formalities, make sure that we're following the rules as necessary, that contracts are signed the way they should be. All of that stuff is really mostly about facilitation.
CLAIRE: 00:52:09
You say that conferences are fun, organizing conferences, presumably, and that that's the good stuff. I am not an organizer of PGConf.EU, clearly, but I'm a sponsor, and I was a speaker and a community member, and that's three hats. You obviously wear at least four hats, maybe five or six at the event. Were you as exhausted as I was at the end of it?
MAGNUS: 00:52:36
Yes. I think that's very simple. No, it's, I mean, it's, yeah, that one week, obviously, it's also the lead up to it gets exponentially more and more as you get closer. Yeah, it's a heavy week, but it's also very satisfying.
CLAIRE: 00:52:58
Yeah. And I assume you're doing a lot of reflection and post-postmorteming or retrospectives and things like that right now to capture the memories of what you want to do differently next year before you forget.
MAGNUS: 00:53:15
Yep, yeah, we're just getting into that part of stuff. We're collecting the feedback from the attendees who've been there and from ourselves, from the whole team, because there obviously there were some things that didn't go as expected, and as I usually try to tell people, our job as the organizers then is to make sure that attendees and sponsors and whatever don't notice, that you sort of take care of it. But there are obviously things in our organization that needs improvements or updates as we go because, yeah, all sorts of retrospectives out of different aspects to it that need to be done so that we can get ready to start moving on the next year.
CLAIRE: 00:53:58
So for anybody who's listening and is unfamiliar, PGConf.EU is an annual Postgres user and developer and contributor and community member conference, it's people of all types of involvement with Postgres, and it moves around. So it's in a different country and city every year. And this past year, a couple weeks ago, it was in, oh my gosh, a week and a half ago. No, two weeks ago, it was in Valencia, Spain. But the previous year it was in Latvia, in Riga, and before that it was Athens, Greece, and before that it was Berlin. Am I right? Berlin, Germany.
MAGNUS: 00:54:42
Prague.
CLAIRE: 00:54:42
Prague. Oh, I can't forget Prague. And it's almost always in October. Prague, that particular year, 2023, it was in December, but that's a whole other story. What's really cool is I remember there was a group of friends who came by our booth. I think this was last year, and they had met at a previous PGConf.EU. And they make a point—they, prior to that, they were strangers—and they make a point of coming to PGConf.EU every year, partly to learn about the technology, partly to see each other, and partly to see a new part of Europe. So it's really got a positive vibe, and it's been growing year over year. I think you had, what, 747 attendees this year, is that right?
MAGNUS: 00:55:31
Yep. That's correct.
CLAIRE: 00:55:33
So, anyway, if you haven't gone yet, you should go.
MAGNUS: 00:55:36
It's been going a little up and down recently, and COVID obviously made some impacts on, I mean, not just obviously the two years when we didn't do anything because of COVID, but it also sort of put a little notch in the line after as well before we realized that, yes, people are actually still interested in going to these events, so we should keep doing them.
CLAIRE: 00:56:00
Yeah, and obviously part of the value are the talks and the speakers and everything that you can learn there. But the other part of the value is in the hallway track and the people you meet, the friendships you make. And, you know, sometimes people find jobs, or they don't realize they're finding a job. They're meeting someone who years later that manifests itself into a job opportunity. So it's definitely good networking. And you have not yet announced. You're not going to announce on today's show where next year's PGConf.EU is, are you? Or are you?
MAGNUS: 00:56:33
No, I'm not.
CLAIRE: 00:56:34
Oh, that would be so cool. We should have talked about that beforehand. That could have been amazing. Oh, okay.
MAGNUS: 00:56:42
Yep, but no. Sorry.
CLAIRE: 00:56:44
Okay. So, and the reason you're not announcing it yet, presumably, is because you don't announce until you've signed the contracts, right?
MAGNUS: 00:56:52
Correct. We've made that mistake once and announced it without having signed a contract, and then it turns out we didn't have a contract, and we had to change to a different place, not just a different venue, but a different city, which causes all sorts of problems for people who might already be planning. Some people start planning their travel immediately as we announce.
CLAIRE: 00:57:17
Yeah, for sure. Or at least they put it on their family calendars to make sure they don't get double booked. Same with their work calendars.
MAGNUS: 00:57:24
Yeah, and in some cases even to the point of, oh, I'm figuring out how I'm going to get there. You know, I'm going to take the train, I'm going to fly, I'm going to drive, getting all that sorts of planning in pretty early on. So, yeah, we want to make sure that once we announce, we know that it's going to happen then and there.
CLAIRE: 00:57:46
Okay. So one of the questions I didn't prepare you for—well, just so people know, I don't prepare you for most of the questions. I think I shared a handful of them beforehand, but I never really know what I'm going to ask until we get in the conversation. But I am really curious if you feel like there was a lucky break somewhere along the way with your work on Postgres or with Postgres. Was there a moment where you look back and think, thank goodness?
MAGNUS: 00:58:22
It's a good question. I mean, I think, if anything, I think it was when I took the step to actually work with Postgres as my primary job, right? Not just as a user, but getting into the space of Postgres services and working full time on it. Prior to that, it had been as—[At Redpill.] Yes, correct, that Redpill. Prior to that, it had been as a user part-time and as a hobby on the side, right? And that's when it really became a job as well, and I mean, yeah, it's being allowed to have your job be your hobby, or your hobby be your job. That's pretty sweet.
CLAIRE: 00:59:04
Okay. I think I had a lucky break. Boriss Mejías was telling me that he wants me to be a guest on this podcast. Excuse me, on this podcast at some point. And so maybe I'll save my lucky break story for when that happens. I find sometimes, when I think about the Tom Lane episode and his story about how he got involved with software and then with databases. You know, there was a lucky break there. There was a professor coming up to him and saying, hey, you know, I think you should take this, was it a research assistant job? I'll have to go back and look it up in the transcript. And you're good at it, and you should do it. And his choice was doing that or flipping burgers as a part-time job. And so he took the job with the department, and he was still in university at the time. And thank goodness, right? That was a lucky break for him, but it's also a lucky break for the rest of us.
MAGNUS: 01:00:01
Oh yeah. Most certainly a lucky break for the rest of us, yeah.
CLAIRE: 01:00:07
Yeah. And what I take away from that is that sometimes when opportunities come upon you, you should say yes. There's always a million reasons to say no, but, you know, because you don't know what's going to happen, but you should say yes. Okay, so one of the questions that Melanie Plageman often asks when she thinks about the Postgres community and how it's evolving and growing is she'll ask, What makes you keep coming back? Obviously, there's a lot of work involved, right? A lot of challenges. Not everything's easy, and you don't have to do these things. You don't have to serve on the PostgreSQL Europe Foundation. You don't have to continue to organize Nordic or continue to be an organizer of PGConf.EU. The core team you could step down on. You're doing all these things, the infrastructure work, oh my goodness, what makes you keep coming back?
MAGNUS: 01:01:11
I mean, at the biggest level, the people. It's really, that's the main thing. Again, lots of, I've made a lot of friends over the years, but also the learning, there are so many skilled people that are getting engaged in this project that you can still learn from these people every day. And I think the project has always been good at being willing to share. Well, the project, the people of the project have been good at being able to share, or willing to share their knowledge with others in the group.
CLAIRE: 01:01:56
If you were getting started in Postgres today, say you're early in your career, or maybe in the middle of your career, but looking to make a pivot. Would you take the same path that you did? And what I'm really curious about, as you answer that question of would you take the same path, is what do you think is easier for new people now, and what do you think is harder?
MAGNUS: 01:02:21
It's certainly, I mean, going to that, it's certainly harder today. It's certainly harder today to become a Postgres committer than it used to be. [For sure.] The bar is higher now, and that has been climbing for a long time, I think. To some extent, maybe the bar is too high, but it's also Postgres has the needs, the requirements on the system are higher today because of how it's being used. It is certainly not a hobby project in any shape or form anymore. So the needs are higher, I feel also both on committers and developers in general. Back when it started, nobody was working full-time on Postgres. Now, a lot of people are working full-time with the development of Postgres, which sometimes can be a friction for other developers who are not, right? And it's because there's a different paces through a process by different people, which was a smaller problem then. It certainly existed back then too, but it was a smaller problem then because nobody had the resources to do things full time.
MAGNUS: 01:03:35
So I think that's certainly under the harder slash easier division between them. As for the path in, I still generally think it's a good path in. You know, start as a user and then move on towards being a developer to a certain extent, at least, because you come in there with a good understanding of what it's like to use your product, I think. If you're just like, if you've ever your entire career has been, I've been a database developer. I've just moved between different databases, for example. That's a different aspect. But if you've never been a user of a database, that gives you a different kind of perspective as well. So I think going that path is still a very valid way, whereas some other things are just complex enough that you kind of have to do them all the time to get there.
CLAIRE: 01:04:31
I completely agree with the empathy that you get if you start as a user and then move toward being a developer. What I'm curious about is there are obviously a bazillion Postgres users out there. Now, some of them are app devs who are maybe not as into the weeds or paying attention to the mechanics of what's happening under the covers of Postgres, right? And some are, right? It just varies. But in any event, there's a lot of users. Do you have any advice for how they move toward being a developer? And I ask this because I met someone who was an app developer at PGConf.EU, and he's trying to chart that path and figure out... You know, where do I go? What do I look at? What do I do? How do I prove myself? And yes, he already knew about the Postgres hackers Discord that Robert Haas and folks started, gosh, over two years ago now, it feels like. And so, and there are monthly hacking workshops that exist on that Discord that get organized. So we knew about that, but I'm curious what other advice you would offer somebody.
MAGNUS: 01:05:46
Yeah, I was going to say I was going to point to that, or the, not necessarily, I mean, sure, it happens to be on Discord, but the important part being the sort of workshop and the mentorship for new developers in there, because it's hard to find a way to break through the noise, basically. There are so many contributions coming in all the time, right? There are so many patches being sent that how do you get someone interested in yours, right? Because we know that it's not a great thing to build this massive patch and just send it in and say, hey, here you go. That never works. But how do you work your way to that point? And it's really, I think to be successful there, you have to catch the interest of a senior developer somewhere. It doesn't have to be a committer, but it has to be a senior developer, and that's the hard part, and I think that's a— That's not even a tool. Some people will say it's because, you know, oh, you have to know how to send email to do it. And I mean, yes, you do, but I don't think that's really the core. The core of the problem is just the massive volume. There is so much. How do you make someone interested in it? And these workshops and things, I think, are a good way, or— Sad to say, are they coming to events and interacting with those senior developers at events, and I say I'm sad only in the way that I wish that wasn't a requirement. It's not a requirement, but I think it helps because then you can explain in person and get somebody on the inside to be interested in the topic that you're working on.
CLAIRE: 01:07:31
I ask these questions with an agenda, of course, which is one of the reasons that I produce, along with Aaron Wislang, my co-producer, thank you, this podcast every month, is I'm trying to give people who are tomorrow's future potential committers, tomorrow's future major contributors, a glimpse backstage into how people got involved and how they do their work and how they think about Postgres. So, but I'm also interested in offering people just suggestions and tips and things they should do. And I do think that Hackers Discord is a good place to start, and we'll include a link to it in the show notes. The other thing that I thought was really cool is I learned this from Tomas Vondra. There are a number of major contributors and committers who have started having public office hours that any developer can sign up to, and, you know, ask questions. And for some people it's a little nerve-wracking to think about pushing something out there on the mailing list, subject to a lot of scrutiny and a lot of potential criticism from the get-go. And they like that kind of one-on-one opportunity to get feedback before they push it out there to a broader audience. So I thought that was pretty cool.
MAGNUS: 01:08:56
Yeah, I think that's a great idea and same as these workshops, it's a chance to get started in a smaller group, get a little bit more focused attention in between them. So yeah, I think these are great initiatives. I think another thing that is also worth mentioning in the environments of today is don't just have an AI agent write your patch and send it in. No, when people who are reviewing the patches look at it, they see that's the case, or in the first dialogue. They realize that's the case and they're going to lose interest. You can certainly use an AI agent as a tool as you're developing your patch, but you're the one who is developing the patch. You are the one who interacts with the reviewers who are going to take a look at your patch and things like that. And I think you don't want to put yourself in a position where the senior developers, as soon as they see a patch come in from you, like, oh, yeah, I don't want to review something that Claude wrote.
MAGNUS: 01:10:09
It's a tool, but you've got to do your part as well, and don't sort of lock yourself out of this very creative and very efficient review feedback loop by more or less scaring off the people from being interested.
CLAIRE: 01:10:26
Yeah. Which is especially true because you need those people in order to get anything committed. So you have to be earning their trust. I mean, it's amazing what the AI agents can do these days if we could go back in time to a year ago and then fast forward to now, we'd be shocked, right? They are so capable. And yet there are still mistakes. If you ask the wrong question, give the right guidance, set the wrong requirement, you're going to have a different result, and it's not the result that you want. So I think what I try to get people to do is, at the end of the day, you're still accountable for your work product. And whether you have another person you're collaborating with or an agent you're collaborating with, you're still responsible. And that's— That's something that I think people are still adjusting to. You know, it's very tempting to just—
MAGNUS: 01:11:22
Yep, and I think that's, yeah. I think that's exactly the point. It's a great tool. It is amazing what it can do, but as with all tools, you got to use it right. And you can't just abdicate from responsibility that you are the one who's doing this. It's a tool for you. It's not an entity of its own.
CLAIRE: 01:11:44
So back to office hours for a second. Do you hold them, or have you thought about it, or are you still thinking about it, or it's not for you? Four choices.
MAGNUS: 01:11:55
I don't. Yeah, I don't at this point. I think it would fit badly. It would be difficult for me to fit that into how I work, because I can't really set aside a specific time saying, hey, now this is the time when I'm doing community stuff. Other than I set aside the week of PGConf.EU and a few things like that. But other than that, it's more, you know, oh, if a customer case comes up, if they have to do a workshop or a training with a customer or something, it would become too unpredictable, and I'm not in general, as involved in the code development—anywhere near as involved in the code development as I was some time ago, I'm more involved in trying to facilitate the code development by processes and by the infrastructure being one example and things like that. So my focus has changed a bit like that. But I'm very glad that several of our senior developers are doing it because I agree it is very useful.
CLAIRE: 01:12:58
Yeah, and unlike in a company with a software product that maybe is more proprietary, there are managers, there are recruiters, there are people who are hiring and focused on how do we grow the team and how do we have a mixture of senior and junior and who's mentoring who and, right, there's that whole layer of trying to grow the people organization. And I think the challenge in an open source project is there aren't people whose exact jobs exist to do the recruiting or to do the managing, the hiring. There are leaders for sure, and you're one of them, right? And, you know, the leaders, the existing committers, you all think about who to invite to become committers in the future, right? So there's a whole process that's kind of behind the scenes for that, but— It is a little different in an open source project to help nurture the next generation, so.
MAGNUS: 01:14:01
Yeah, I'd say it's very different. [I don't know.] It's, but yeah, it's, as I say, there's nobody actively, you're, you've got job applicants, but you've got nobody actually recruiting, and the decision process is hard. And that can often be, and certainly if you're on the receiving side of it, but also if you're on the delivering side, that it can be frustrating and, like, why can't someone just make a decision? Why can't we just do this? But in the end, it turns out often to be, we often, I often hear people say, why can't the core team just go in and make this decision? And everybody thinks that's a great idea as long as the decision is the one they'd like it to be. But if it would be the other way, they would instead go the core team should not make any decisions at all. But the flip side of it is sometimes we have, as a community, we have a really hard time making decisions.
CLAIRE: 01:15:08
Well, I think there's a lot of effort to align people. And not to say that all decisions are consensus, because they're not, right? Clearly. And clearly, the decisions to commit or not commit are definitely not consensus, right? Yeah, there is definitely an effort to align because, you know, you piss too many people off, you're never going to be able to get anything done.
MAGNUS: 01:15:31
Yeah, no, I mean that's it, and we have the, on the committer side, yeah, it's to a point, it's up to every individual committer to make the final call. Is this something that I want to commit? Because you are then stuck with the responsibility for this thing. Right, that's the motivating factor to only commit it if you actually believe in it. But it also can mean that as a contributor, you can end up with nobody, everybody wants your thing, but nobody wants to own it. Nobody wants to take responsibility for it, which is tricky. Or people want your thing, they just want it in a different way.
CLAIRE: 01:16:21
Okay, before we wrap today, I wanted to open the door to throw out CFPs, which some people say it stands for call for papers, and that makes no sense to me because we're talking about talk proposals here. So as far as I'm concerned, it means call for proposals. But anyway, Postgres community conference CFPs that are open right now that are on your radar. Are there any? Because I have a list.
MAGNUS: 01:16:48
Oh, yeah, certainly. I'm not going to say SCaLE because it closed yesterday, I think, or maybe the day before yesterday. I panicked on Saturday thinking that it closed the last of October, and then realizing it actually closed on Sunday. Plus, I get nine extra hours because they close on Pacific time. So I got that one good. But right now, open call for papers are certainly the FOSDEM conference.
CLAIRE: 01:17:19
FOSDEM PGDay, the CFP will close on December 1st, and the PostgreSQL devroom at FOSDEM closes on November 28th. Isn't that weird? They're different dates.
MAGNUS: 01:17:30
Oh, see, I should know these things. I thought they closed on the same date. [They don't.] I'm sure there is a good reason for it. The interaction with the FOSDEM, like FOSDEM, the central conference, has certain requirements on the devroom, so it's probably to align with that. I know there has been a bunch of discussion, but it could be. Yeah, I thought they were on the same day. So I guess we both have to look that up after the event.
CLAIRE: 01:18:00
I looked it up before, but let's assume that it's November 28th. Just submit early, submit often. Don't cut. I know so many people wait till the last day, but that's risky, especially if you get the time zone wrong.
MAGNUS: 01:18:16
No, you're right. I, yeah, there it is, it is the 28th. I had to look it up real quick.
CLAIRE: 01:18:22
For the devroom.
MAGNUS: 01:18:23
For the devroom, I don't remember why they're different, but they are. So those would be the big, the Canada event in Montreal, PGConf.dev is open.
CLAIRE: 01:18:37
I have another one to recommend, which is the Nordic PGDay CFP and the deadline for that.
MAGNUS: 01:18:44
But it's not open.
CLAIRE: 01:18:45
What? Are you really?
MAGNUS: 01:18:50
It opens on the 16th of November. So Nordic PGDay is not actually open. Otherwise it would be on my list.
CLAIRE: 01:18:59
You know what's really funny? This shows you how people scan. I went to the CFP page. At the bottom of the first paragraph, it says November 16th, and I'm like, okay, that's the deadline. But no, that's the opening date. Okay then. All right.
MAGNUS: 01:19:16
PostgreSQL Europe right now only has FOSDEM PGDay open right now. We will hopefully open, I mean, with Nordic opening pretty soon, I would expect the German conference, it's typically around May, also to open their call for papers fairly soon. I don't know if we have a date for it yet. So, but right now everyone can focus on FOSDEM, and PGConf.dev.
CLAIRE: 01:19:43
I was going to say, PGConf.dev, its CFP close date is January 12th. And then very soon, in the next couple of weeks, POSETTE: An Event for Postgres, which is the event that my team organizes, is virtual. It's free. It's happening at the end of March in 2027. The CFP is going to be opening soon, and it will close on January 3rd. So it's going to be a short CFP period this time.
MAGNUS: 01:20:13
Always an interesting discussion. Does it make sense to have long CFP times? Because everyone submits the last day anyway.
CLAIRE: 01:20:19
Well, does it?
MAGNUS: 01:20:23
I mean, it's, I think it's a fair discussion. You've got to find a balance between them. There's no point in having a 6 month long open CFP, I think, personally, but it has to be long enough that people can start thinking when it opens and then panic at the end.
CLAIRE: 01:20:40
Also, I think it has to be long enough that you can try to reach people who are not the usual suspects, who maybe have never submitted before or haven't been to that conference before or didn't even know it existed. And, you know, it takes some time to get out of the normal channels and reach those people. But that's hard. It's hard to do. And sometimes even giving yourself more time doesn't mean you're going to achieve that.
MAGNUS: 01:21:06
I mean, it only gives you a chance to achieve it if you give yourself more time and you actually start.
CLAIRE: 01:21:11
Exactly. You do the work.
MAGNUS: 01:21:13
Giving yourself more time and not starting, which unfortunately ends up far too often being the case, doesn't really help. So there is a balance between them. Obviously, you should not just have the CFP open for a week. Then some people may be on vacation and never see it, right? But six months, I think, is way too much, and then you just got to find your balance in between them.
CLAIRE: 01:21:36
All right. Well, you were actually a speaker, a keynote speaker at the very first POSETTE: An Event for Postgres, back when it was—so this is going to be the sixth one in 2027—and that was back when we called it Citus Con: An Event for Postgres. We since changed the name, but I thank you for that. It really, especially the first year of an event, the keynote speakers bring, I think, a lot of prestige and gravitas and attention to an event, and I really, really appreciated your support. And you gave a really good talk, so I will link to it in the show notes.
MAGNUS: 01:22:11
Thank you.
CLAIRE: 01:22:12
Yeah. All right. Well, I think we're at a wrap. We covered a lot of ground. I hope we didn't miss anything. Do you feel like we answered the question, how you got started in Postgres?
MAGNUS: 01:22:26
I think we did a pretty good job of that.
CLAIRE: 01:22:29
I think we did too. It's fun having you on the show. I look forward to the next time I see you in person as well, and—
MAGNUS: 01:22:39
Which will be FOSDEM, right?
CLAIRE: 01:22:42
I hope so. I hope to come to FOSDEM. Although it is slushy and cold and sometimes rainy, and I have to pull out the waterproof boots and the warm jackets. But it's so many smart people from all over the world in one place. I mean, when you think of FOSDEM as a whole, not just the PGDay and not just the PostgreSQL devroom, it's like 8,000 developers, right? It's big.
MAGNUS: 01:23:09
Yeah, it's huge.
CLAIRE: 01:23:11
And if anyone's never been and they hear about it in this podcast and they decide to go one of the tricky parts that people run into is they feel like they have to register. But there's no registration at FOSDEM, right? It's a free and open source developer something-something conference. Actually, the acronym FOSDEM is what inspired the acronym of POSETTE because I felt like, oh, people don't even know what FOSDEM stands for. And so POSETTE, they don't even need to know what it stands for, right? As long as it rolls off the tongue and has a meaning behind it that you could explain if asked. Anyway, but you don't need to register, and you do need to have a plan because there are so many devrooms and so many places you could be in different buildings. You need to know what you're trying to accomplish before you get there. Otherwise, you just—it's easy to get lost.
MAGNUS: 01:24:04
Yep, I agree. And it's important to know this goes for the FOSDEM event that's on Saturday and Sunday. The FOSDEM PGDay that is misnamed because it's now two days, Thursday and Friday, does require a registration.
CLAIRE: 01:24:19
And that's on Thursday and Friday, and this is the first time it's going to be two days. So presumably more talks. Are you going to have more tracks or just more talks because of the two days?
MAGNUS: 01:24:32
It's more talks. We went from one to two tracks recently. I don't remember if it was last year or two years ago. So we'll keep the number of tracks, but increase the number of days.
CLAIRE: 01:24:46
Well, and I'm looking forward to it. And again, thank you for coming on the podcast. Really appreciate it. Thank you for your time.
MAGNUS: 01:24:55
Thank you for having me.
CLAIRE: 01:24:57
A big thanks to Magnus Hagander for joining us. And for those of you who liked today's episode and you want to hear more of these Talking Postgres shows, you should subscribe on Apple, Spotify, YouTube, or wherever you get your podcasts. And please tell your friends, because word of mouth and recommendations are gold in the podcast world. You can always get to past episodes and links to subscribe on the different platforms by going to TalkingPostgres.com, and you'll find transcripts included on the episode pages on TalkingPostgres.com too. And a big thank you to everybody who joined today's live recording and participated in the live text chat on Discord.
Creators and Guests
