1
00:00:05,300 --> 00:00:09,440
[CLAIRE] Welcome to Talking Postgres, a monthly
podcast for developers who love this database.

2
00:00:09,920 --> 00:00:14,880
I'm your host, Claire Giordano, and in this
podcast, we explore the human side of Postgres

3
00:00:15,140 --> 00:00:20,680
databases and open source, which means why
do people who work with Postgres do what they

4
00:00:20,720 --> 00:00:22,480
do, and how did they get there?

5
00:00:23,300 --> 00:00:27,500
Thank you to the team at Microsoft for
sponsoring today's community conversation.

6
00:00:28,620 --> 00:00:32,280
And without further ado, today's
guest is Magnus Hagander.

7
00:00:32,880 --> 00:00:36,680
He is a Postgres database lead at Redpill Linpro,

8
00:00:37,340 --> 00:00:41,380
where he works with customers to advise
and support their Postgres workloads.

9
00:00:42,020 --> 00:00:45,140
He is a Postgres committer
and serves on the Postgres

10
00:00:45,220 --> 00:00:47,740
core team and the infrastructure team.

11
00:00:48,400 --> 00:00:53,460
He's chair of the PostgreSQL Europe nonprofit
that coordinates advocacy in Europe,

12
00:00:53,920 --> 00:01:01,680
co-organizer of PGConf.EU since 2008, very
involved in the Nordic PGDay conference as well.

13
00:01:02,640 --> 00:01:06,740
And this is my favorite part, an
avid sailor who lives in Sweden,

14
00:01:07,620 --> 00:01:12,460
and he's been involved with Postgres
since the late 90s. Welcome, Magnus.

15
00:01:12,160 --> 00:01:18,400
[MAGNUS] Thank you, thank you. That was a
long list of circles in the Venn diagram.

16
00:01:19,420 --> 00:01:20,740
[CLAIRE] Yeah, I never know what to do.

17
00:01:20,900 --> 00:01:25,780
Some podcasts just dive straight into the
conversation, and they don't even introduce the guest

18
00:01:25,840 --> 00:01:29,000
because they feel like, ah, people want
to get straight to the meat of things.

19
00:01:29,320 --> 00:01:33,500
But I feel like it's useful for
anyone who doesn't know you yet

20
00:01:34,020 --> 00:01:36,760
to get a feel for all the different hats you wear.

21
00:01:37,780 --> 00:01:38,760
You wear a lot of hats.

22
00:01:40,940 --> 00:01:46,080
[MAGNUS] I do, sometimes too many,
but it's also a lot of fun hats, so.

23
00:01:47,620 --> 00:01:52,740
[CLAIRE] All right, well, today's episode's
topic is how I got started in Postgres.

24
00:01:53,560 --> 00:01:56,400
And so that means we're going
to start with your origin story.

25
00:01:56,800 --> 00:02:01,560
So not so much where you were born, although
that might be interesting, but how did

26
00:02:01,620 --> 00:02:06,020
you get started as a developer
and with software and computers?

27
00:02:08,180 --> 00:02:10,840
[MAGNUS] So with computers
and software in general, I

28
00:02:12,140 --> 00:02:15,000
don't fully remember like this.
It was a very long time back.

29
00:02:15,820 --> 00:02:18,780
You know, we had a computer at
home. Of course, everyone else had

30
00:02:19,260 --> 00:02:21,700
the cool computers you could
play games on. We had a

31
00:02:22,280 --> 00:02:25,880
PC that you could write programs on
because there weren't really any good

32
00:02:26,360 --> 00:02:28,640
things around for it. So that's why I ended up

33
00:02:29,740 --> 00:02:32,740
starting to write my own stuff, I guess,
rather than that. And then you'd go

34
00:02:33,340 --> 00:02:36,320
visit your friends to play
the fancy graphical games.

35
00:02:38,260 --> 00:02:42,960
[CLAIRE] Is fancy graphical a bit of a euphemism,
or were they really fancy and graphical?

36
00:02:43,700 --> 00:02:47,440
[MAGNUS] I mean, they were
very fancy at the time, but

37
00:02:48,280 --> 00:02:50,300
by today's standards,
obviously, no, they were not.

38
00:02:51,800 --> 00:02:54,140
[CLAIRE] Yeah, by today's standards,
they're probably a bit retro.

39
00:02:54,980 --> 00:02:56,300
[MAGNUS] A little bit, just a little bit.

40
00:02:57,900 --> 00:03:04,360
[CLAIRE] Okay, so computer at home,
started to program, built some games.

41
00:03:06,380 --> 00:03:07,380
What was the next step?

42
00:03:09,580 --> 00:03:12,140
[MAGNUS] I think a lot of it came really

43
00:03:12,700 --> 00:03:15,700
sort of, it was that for a while and
then, you know, the internet showed up

44
00:03:17,040 --> 00:03:21,520
and gave you a lot of collaboration
and interesting things, and somewhere

45
00:03:23,120 --> 00:03:24,220
pretty close to that.

46
00:03:26,400 --> 00:03:29,900
I mean, at the beginning, yes, it was
sort of signing up to Usenet and reading

47
00:03:30,160 --> 00:03:32,460
newsgroups and things. But I latched on

48
00:03:33,040 --> 00:03:36,800
to learning a little thing about
Postgres pretty early on at that point.

49
00:03:36,840 --> 00:03:41,000
Not using it, but somehow it showed up in the

50
00:03:41,660 --> 00:03:42,600
threads to be read.

51
00:03:49,280 --> 00:03:52,240
I guess at the time when I started
with that, I'd sort of got a side

52
00:03:52,280 --> 00:03:54,260
job alongside of high school,

53
00:03:55,620 --> 00:03:59,540
dealing with getting computers to run in
general for different small organizations.

54
00:04:02,320 --> 00:04:05,460
[CLAIRE] So wait a minute, you got exposed to
Postgres when you were still in high school?

55
00:04:08,120 --> 00:04:11,380
[MAGNUS] Right, sort of just after, I
think, or, yeah, right around that time,

56
00:04:12,380 --> 00:04:16,740
or exposed to Postgres, I
should say. I did install it and

57
00:04:17,280 --> 00:04:20,880
more or less failed to run it, and
this was in the Postgres 95 days.

58
00:04:22,480 --> 00:04:24,620
So I managed to run it. At
the time, I didn't really know

59
00:04:25,740 --> 00:04:31,000
anything about databases. So I don't
think I used it very efficiently

60
00:04:31,660 --> 00:04:33,500
or very usefully really at all.

61
00:04:35,720 --> 00:04:38,120
[CLAIRE] I was looking up
your background and I saw that

62
00:04:38,640 --> 00:04:43,080
you went to the Royal, the KTH
Royal Institute of Technology,

63
00:04:44,700 --> 00:04:46,400
which I assume is in Sweden.

64
00:04:47,480 --> 00:04:48,480
[MAGNUS] It is. It is in Stockholm.

65
00:04:49,300 --> 00:04:53,240
[CLAIRE] But what I don't know is, did
you study art or did you study software or

66
00:04:53,280 --> 00:04:54,600
what did you study while you were there?

67
00:04:56,320 --> 00:05:02,500
[MAGNUS] I started at electrical engineering and
rather quickly switched over to computer science.

68
00:05:04,000 --> 00:05:09,340
And basically the first year, I think,
was identical except for a week of course.

69
00:05:10,100 --> 00:05:12,320
So, and after the first year,
I switched to computer science.

70
00:05:15,220 --> 00:05:16,960
[CLAIRE] Okay. Was that an agonizing switch?

71
00:05:18,180 --> 00:05:19,920
[MAGNUS] No, not at all.

72
00:05:19,600 --> 00:05:20,640
[CLAIRE] An obvious thing to do.

73
00:05:21,540 --> 00:05:23,260
[MAGNUS] It was an obvious
thing to do at the time, yes.

74
00:05:25,680 --> 00:05:32,120
[CLAIRE] All right, so I still think we want to
understand your first involvement with Postgres a

75
00:05:32,180 --> 00:05:33,760
bit more. Can you, I mean,

76
00:05:34,880 --> 00:05:38,880
I'm looking for more detail, but that assumes
you remember it because obviously it was a

77
00:05:38,920 --> 00:05:39,680
little while ago.

78
00:05:40,400 --> 00:05:44,060
[MAGNUS] It was a little while ago. I
mean, the very first, yeah, the first

79
00:05:44,680 --> 00:05:48,160
exposure was around that time.
Then it really went a few years.

80
00:05:48,420 --> 00:05:51,360
I didn't really use it properly,
you know, when it was Postgres 95,

81
00:05:52,400 --> 00:05:55,000
a few years passed, and then

82
00:05:55,620 --> 00:05:59,500
my first sort of real use was, I think
the classic I was working at this

83
00:06:02,180 --> 00:06:06,420
part-time job, needed a database to
solve a problem, could not afford

84
00:06:07,060 --> 00:06:11,780
SQL Server or Oracle, which were the other
options. Went looking for something that

85
00:06:12,420 --> 00:06:16,440
I could do because I wanted
to solve a problem that nobody

86
00:06:16,960 --> 00:06:21,580
agreed was a problem, so nobody would
assign a budget to it. And I mean, that's

87
00:06:22,660 --> 00:06:26,720
a classic, at least at the time, right?
That was why people went to Postgres.

88
00:06:26,800 --> 00:06:30,440
Either it was because out of
university and you wanted to do

89
00:06:31,600 --> 00:06:33,620
see the insides of the database, or it was

90
00:06:34,160 --> 00:06:38,380
because you needed a real database that did
things like transactions and stuff properly,

91
00:06:38,880 --> 00:06:40,740
and you couldn't afford the commercial ones.

92
00:06:42,950 --> 00:06:47,110
[CLAIRE] Okay, and this was a part-time job while
you were at university or after you graduated?

93
00:06:46,600 --> 00:06:49,980
[MAGNUS] Yes, this was while at university.

94
00:06:53,290 --> 00:06:57,270
[CLAIRE] Okay. Would you describe yourself as stubborn?
I mean, it's kind of interesting that people didn't

95
00:06:58,290 --> 00:07:01,170
want to assign budget to it, but you
thought it was a problem that needed to

96
00:07:01,190 --> 00:07:05,210
be fixed, and so you went off
to find a way to address it.

97
00:07:07,470 --> 00:07:10,390
Was stubbornness a part of why
you got involved with Postgres?

98
00:07:11,450 --> 00:07:12,490
I'm fishing for drama.

99
00:07:13,460 --> 00:07:15,620
[MAGNUS] To a point, and really
it was more also the whole,

100
00:07:16,380 --> 00:07:18,260
I knew that I could make my life easier this way

101
00:07:20,220 --> 00:07:24,760
and other people's as well, but
obviously there is a level of selfishness

102
00:07:25,480 --> 00:07:30,080
to all of those things. So by
getting a solution to this problem,

103
00:07:31,540 --> 00:07:33,920
my life would be easier, therefore I would

104
00:07:34,760 --> 00:07:37,200
go do it even if nobody would
actually assign a budget to it.

105
00:07:38,830 --> 00:07:42,130
[CLAIRE] Now I'm assuming you were
successful in this. Am I right?

106
00:07:42,020 --> 00:07:43,340
[MAGNUS] Yes, yes.

107
00:07:45,590 --> 00:07:48,430
[CLAIRE] Well, because it might have been a
big failure, and then you might have come back

108
00:07:46,140 --> 00:07:46,520
[MAGNUS] That is true.

109
00:07:48,470 --> 00:07:50,830
[CLAIRE] and made another
run later at Postgres, so.

110
00:07:51,220 --> 00:07:54,980
[MAGNUS] Yeah, no, no, that part is true.
That's it, it was successful and then

111
00:07:56,160 --> 00:07:57,900
I guess I didn't really do a lot of—

112
00:07:59,080 --> 00:08:02,720
I ran some small things on Postgres on
the side, and then I got involved more

113
00:08:02,780 --> 00:08:03,160
on the

114
00:08:04,320 --> 00:08:06,160
community side in the Postgres project,

115
00:08:07,760 --> 00:08:11,020
as many did, particularly at the
time, more on the hobby side, right?

116
00:08:11,120 --> 00:08:15,020
Because having had this first exposure
and, you know, getting into the,

117
00:08:16,080 --> 00:08:19,820
at the time, mailing lists was the way to
go, right, or possibly newsgroup, talking to

118
00:08:19,860 --> 00:08:25,680
these people and realizing that there is
so much in this community that I can learn,

119
00:08:27,500 --> 00:08:31,580
which is what kept me going in
my free time on the hobby side

120
00:08:32,040 --> 00:08:32,620
is just the

121
00:08:33,940 --> 00:08:39,620
incredible amount of things to learn
from all the other people that were

122
00:08:40,120 --> 00:08:41,340
part of the community at the time.

123
00:08:42,450 --> 00:08:45,230
[CLAIRE] And you're still in
university at this point, right?

124
00:08:46,840 --> 00:08:52,940
[MAGNUS] I mean, yes and no. Yes,
formally, in practice, maybe not as much.

125
00:08:59,970 --> 00:09:03,790
[CLAIRE] Got it. And I read somewhere
that you were part of the Windows port

126
00:09:04,430 --> 00:09:06,250
for Postgres, but that might have been later.

127
00:09:06,650 --> 00:09:09,950
So maybe there's a few more steps
of your involvement with Postgres.

128
00:09:10,430 --> 00:09:13,950
And I'm also not sure when you got to
Redpill Linpro and when you started

129
00:09:16,170 --> 00:09:19,770
using Postgres in your day-to-day
job that you get paid for. So

130
00:09:20,350 --> 00:09:22,090
don't let me jump ahead here.

131
00:09:22,150 --> 00:09:24,890
I kind of want to do this linearly if we can.

132
00:09:26,160 --> 00:09:31,060
[MAGNUS] Right, so no, it's true that the
timing isn't, we're not there quite yet, but

133
00:09:32,940 --> 00:09:34,900
it started off sort of as a user. In fact, I had

134
00:09:35,680 --> 00:09:40,180
a single, the first thing that I know,
and I don't know when at this point,

135
00:09:40,240 --> 00:09:42,660
my first actual sort of code
contribution to Postgres

136
00:09:43,240 --> 00:09:47,260
was a single line patch to a
file somewhere around this time.

137
00:09:48,540 --> 00:09:53,700
I'm not entirely sure where. I don't have
the email anymore, and not really knowing

138
00:09:54,380 --> 00:09:58,880
and understanding how communities worked, I just
emailed it directly to one of the maintainers at

139
00:09:58,920 --> 00:10:04,420
the time, who just applied it and
done. And it does not carry my name.

140
00:10:06,000 --> 00:10:08,440
So therefore, I don't remember
exactly when that was.

141
00:10:08,860 --> 00:10:10,380
And it was at the time, you know,

142
00:10:10,980 --> 00:10:14,720
it was a one-line patch to make
Postgres compile and work on Linux,

143
00:10:15,320 --> 00:10:17,440
because all the developers at the time used BSD.

144
00:10:19,459 --> 00:10:23,079
And there was an include file that, I
think the include file was in a different

145
00:10:23,100 --> 00:10:25,620
directory or something like that
when you wanted to build it on Linux.

146
00:10:27,340 --> 00:10:29,020
So that was the original,

147
00:10:29,500 --> 00:10:32,540
the very first thing, and that was
just to run it for sort of these side

148
00:10:32,600 --> 00:10:33,880
projects. The

149
00:10:34,960 --> 00:10:38,940
larger projects that I then got
involved in later on was first

150
00:10:39,420 --> 00:10:41,540
actually the work on porting just the

151
00:10:42,400 --> 00:10:45,360
Postgres client to Windows because I needed it.

152
00:10:47,270 --> 00:10:48,510
[CLAIRE] And you needed it for what?

153
00:10:49,760 --> 00:10:49,761
[MAGNUS] Right.

154
00:10:49,760 --> 00:10:53,400
I needed it for one of my work projects
where we had the database, and to

155
00:10:53,440 --> 00:10:54,420
get it to the next stage,

156
00:10:55,500 --> 00:11:01,640
classic organization at the time, everybody ran
Windows on their desktop machines, and I needed to

157
00:11:02,780 --> 00:11:05,740
get others to use the system,
therefore it had to run on Windows.

158
00:11:08,080 --> 00:11:11,900
And that was a relatively small
project. Then a couple of years later,

159
00:11:12,580 --> 00:11:18,140
I got involved in the group together with
Bruce Momjian and a guy named Claudio,

160
00:11:18,980 --> 00:11:24,520
who sadly, I think we never really saw
after this project, but to port the

161
00:11:25,160 --> 00:11:31,800
actual database server to Windows. That was my
first really large project to get involved with

162
00:11:32,700 --> 00:11:34,200
when it comes to development on Postgres.

163
00:11:36,910 --> 00:11:38,790
[CLAIRE] Okay, and did we
skip any important steps?

164
00:11:39,430 --> 00:11:43,650
And actually, I want to wind back
to that very first real use where

165
00:11:44,810 --> 00:11:48,950
you had a part-time job and you couldn't
afford SQL Server or Oracle, and you wanted

166
00:11:49,030 --> 00:11:55,070
to use Postgres to address that problem.
Do you remember what that was about?

167
00:11:55,230 --> 00:11:56,670
Do you remember what that itch was?

168
00:12:01,700 --> 00:12:09,200
[MAGNUS] I think what mostly assets and users, having
a centrally managing assets and users instead of

169
00:12:10,412 --> 00:12:11,392
copy pasting things.

170
00:12:13,732 --> 00:12:17,372
I think was so a very, really
a very simple use case, but

171
00:12:17,852 --> 00:12:22,312
there were parts to it that really
needed the concepts of transactions to be

172
00:12:22,992 --> 00:12:23,492
trustworthy.

173
00:12:30,060 --> 00:12:30,063
[CLAIRE] Got it. Okay.

174
00:12:30,060 --> 00:12:36,280
Then let's talk about the port a few
years later with Bruce Momjian to port to

175
00:12:36,360 --> 00:12:42,260
Windows. I don't know. I don't have
a feel for how much time that took,

176
00:12:42,840 --> 00:12:45,440
how big the scope was. Tell me more.

177
00:12:46,952 --> 00:12:48,432
[MAGNUS] I mean, I think particularly compared

178
00:12:49,332 --> 00:12:54,092
to typical Postgres projects of the time,
it was one of the really big ones. Now,

179
00:12:55,132 --> 00:12:58,872
it came out in Postgres, what became
Postgres 8.0, which had a couple of other

180
00:12:59,352 --> 00:13:04,612
really big things to it, like it's the first
version that had point-in-time recovery and things

181
00:13:04,672 --> 00:13:10,272
like that, that were also sort of
moving the project along into more of

182
00:13:11,352 --> 00:13:15,952
the ability to be used by actual
company structures rather than hobbies.

183
00:13:16,772 --> 00:13:19,572
So I don't remember exactly. We probably spent—

184
00:13:20,632 --> 00:13:24,652
In total, it was probably over two years.
I was not involved at the very beginning

185
00:13:25,592 --> 00:13:29,092
in some of it. In particular, this
Claudio guy had done a lot of the work

186
00:13:30,172 --> 00:13:33,852
on some parts to it, but we
also had the constraint that

187
00:13:35,112 --> 00:13:36,772
we had to do the port

188
00:13:38,752 --> 00:13:42,172
without affecting how
Postgres worked anywhere else,

189
00:13:42,752 --> 00:13:48,332
and without making Postgres work completely
different. For example, at the time,

190
00:13:49,592 --> 00:13:54,052
there was a Japanese version of Postgres that
already ran natively on Windows, for example, and

191
00:13:54,272 --> 00:13:58,332
it used threads because
Windows is natively threaded,

192
00:13:59,292 --> 00:14:03,272
and Postgres used processes, as it still
does today, as everybody knows, right?

193
00:14:05,012 --> 00:14:07,532
So we had to write this whole sort of emulation,

194
00:14:07,992 --> 00:14:10,352
or not really emulation, but compatibility layer

195
00:14:11,092 --> 00:14:15,212
to make Postgres on Windows
behave like Postgres on Unix.

196
00:14:17,272 --> 00:14:19,491
So for all sorts of different things.

197
00:14:20,792 --> 00:14:25,312
It was a large project. The interesting
thing we had for it, it really was

198
00:14:25,892 --> 00:14:26,632
an efficient one, right?

199
00:14:26,692 --> 00:14:30,512
Because I am based in Europe, in Stockholm,
right, and Bruce Momjian is on the east

200
00:14:30,572 --> 00:14:37,232
coast of the U.S., and Claudio is based in
Australia. So we really had the overlapping-wise,

201
00:14:34,900 --> 00:14:35,280
[CLAIRE] Oh boy.

202
00:14:37,892 --> 00:14:41,512
[MAGNUS] sort of at one time of the day
I got to talk to Claudio, at another

203
00:14:41,552 --> 00:14:42,232
time of the day

204
00:14:42,692 --> 00:14:45,552
Claudio got to talk to Bruce, and at
the third time Bruce got to talk to

205
00:14:45,612 --> 00:14:47,532
me. But we never got to talk,

206
00:14:48,312 --> 00:14:51,792
all together, sort of at the same
time, but it also meant we had

207
00:14:52,272 --> 00:14:53,732
somebody working on the project all the time.

208
00:14:57,980 --> 00:15:01,420
[CLAIRE] I organized a Postgres
19 hackers panel earlier this year

209
00:15:02,580 --> 00:15:05,680
to talk about the whole Postgres
19 development experience.

210
00:15:05,740 --> 00:15:07,980
And it was actually before
things got dramatic, right?

211
00:15:07,980 --> 00:15:14,280
Because we recorded this back in early
May or something like that. But the

212
00:15:14,860 --> 00:15:17,480
committers who were on the
panel were Álvaro Herrera,

213
00:15:18,000 --> 00:15:21,120
Heikki Linnakangas, Melanie
Plageman, and Thomas Munro.

214
00:15:21,500 --> 00:15:23,820
And so you know where those people live, right?

215
00:15:23,880 --> 00:15:27,500
So we had someone in East Coast
United States, someone in New Zealand,

216
00:15:28,420 --> 00:15:34,340
someone in Germany, and I think Heikki
must have been in Finland, right? So

217
00:15:35,400 --> 00:15:39,420
big time zone changes, and it was a
challenge to find a time that could work

218
00:15:39,840 --> 00:15:40,780
for everybody, and it was

219
00:15:40,840 --> 00:15:43,640
super early in the morning for Thomas,
but it was super late in the night for

220
00:15:43,740 --> 00:15:44,660
Álvaro and Heikki.

221
00:15:46,840 --> 00:15:47,760
Time zones are a thing.

222
00:15:46,952 --> 00:15:47,832
[MAGNUS] Yep, I think that it's

223
00:15:48,892 --> 00:15:52,672
one thing that probably made that
easier back when we did this, right, is

224
00:15:53,172 --> 00:15:57,352
when we say most of the communication
was very asynchronous, right?

225
00:15:57,752 --> 00:16:00,592
It was email-based communication
back in the time. Yes, there were

226
00:16:01,392 --> 00:16:06,612
some chats, but the majority of things
were really emails back and forth, which

227
00:16:07,292 --> 00:16:10,492
works better when you're not
actually around at the same time,

228
00:16:11,012 --> 00:16:12,292
because you have an expectation, right?

229
00:16:12,792 --> 00:16:16,092
Certainly, if you're sitting on a panel, you're
sitting in a call, you expect everyone to

230
00:16:16,132 --> 00:16:20,152
be around right now. And if you're on a
chat, you expect everyone to be around

231
00:16:20,852 --> 00:16:23,812
maybe almost right now. But with an email,

232
00:16:24,712 --> 00:16:29,352
you're phrasing, you're planning things out for
people not to actually be around at exactly that

233
00:16:29,392 --> 00:16:29,592
time.

234
00:16:31,560 --> 00:16:35,740
[CLAIRE] Do you find that you still
appreciate that about the Postgres community?

235
00:16:35,840 --> 00:16:37,760
It's almost like a follow the sun model.

236
00:16:37,840 --> 00:16:42,160
The fact that you can send something
and go to sleep and then wake up and

237
00:16:42,460 --> 00:16:46,720
there might be replies or forward progress.
Is that still something you rely on?

238
00:16:48,632 --> 00:16:51,372
[MAGNUS] Not as much, I'd say.
Not, I think we've all sort of,

239
00:16:52,172 --> 00:16:56,832
we've shifted along with the tools that
are available now, but to some extent, yes.

240
00:16:59,920 --> 00:17:02,280
[CLAIRE] All right, and then
when you worked on the port

241
00:17:04,220 --> 00:17:07,100
to Windows of the actual database server.

242
00:17:07,480 --> 00:17:10,500
Were you at Redpill Linpro
yet, or did that come later?

243
00:17:11,612 --> 00:17:14,232
[MAGNUS] That came later. At
this point, this was sort of a

244
00:17:16,932 --> 00:17:17,792
side job, that idea.

245
00:17:18,212 --> 00:17:21,632
I had, at this time, I had sort of
the blessing of management to spend

246
00:17:22,152 --> 00:17:23,452
free time, otherwise not

247
00:17:24,052 --> 00:17:27,692
allocated to something I could spend
on this, and other than that spend

248
00:17:28,612 --> 00:17:29,612
non-work time on it.

249
00:17:33,980 --> 00:17:37,780
[CLAIRE] Okay. When I look at
your official LinkedIn profile,

250
00:17:38,540 --> 00:17:41,880
because you didn't have to submit a
resume in order to be on the podcast, but

251
00:17:41,960 --> 00:17:49,560
I did do a little bit of homework,
and it looks like March 2008 was when,

252
00:17:50,280 --> 00:17:56,100
I don't know, you got involved in probably creating
the PostgreSQL Europe nonprofit foundation,

253
00:17:56,800 --> 00:17:59,920
and it was also when you joined Redpill Linpro.

254
00:18:02,120 --> 00:18:08,600
And so, and I think PGConf.EU didn't happen
until the next year, at least not according

255
00:18:08,640 --> 00:18:12,760
to LinkedIn. It says January 2009. In terms of

256
00:18:13,340 --> 00:18:17,940
becoming an organizer, obviously the event didn't
happen in January, as far as I can remember.

257
00:18:19,940 --> 00:18:25,140
So clearly something happened in March
2008. There were a bunch of changes or

258
00:18:26,320 --> 00:18:27,640
new initiatives in your life.

259
00:18:28,822 --> 00:18:33,462
[MAGNUS] Yeah, and I think if I'm
correct, so the PostgreSQL Europe

260
00:18:34,882 --> 00:18:37,622
actual nonprofit organization was founded

261
00:18:38,382 --> 00:18:42,402
formally during the FOSDEM
conference, which was in February.

262
00:18:45,282 --> 00:18:48,822
We had decided beforehand that we wanted
to do it, but formally that's when we

263
00:18:49,542 --> 00:18:53,502
gathered, as you do to form a new organization,
right, gather everybody into a room,

264
00:18:54,422 --> 00:18:58,142
agreed to do it, and held an
in-person vote for the first board

265
00:18:58,702 --> 00:19:02,302
of directors at that point. So that was before I

266
00:19:03,182 --> 00:19:08,982
started at Redpill Linpro, or at the time
we were just Redpill, but it was after

267
00:19:09,082 --> 00:19:10,102
I had decided to do so.

268
00:19:12,522 --> 00:19:20,502
So it was in that period. And then, let's
see, PGConf.EU formally got started in 2009.

269
00:19:20,582 --> 00:19:28,342
In 2008, we had a European day at
the Italian PGDay in Prato in Italy.

270
00:19:28,562 --> 00:19:29,982
So the day before,

271
00:19:31,122 --> 00:19:35,342
a group of us from the rest of Europe
had basically decided to invade

272
00:19:36,462 --> 00:19:39,502
the Italian conference, because
they foolishly announced it

273
00:19:40,502 --> 00:19:44,102
to the public list saying, hey, we're running
a Postgres conference for one day over here.

274
00:19:44,442 --> 00:19:49,082
So we all decided to go, which
surprised them. But then during that

275
00:19:49,582 --> 00:19:54,382
was when the discussions got started and,
hey, can we do something across all of Europe?

276
00:19:55,042 --> 00:19:58,262
So the next year, in 2008, we had,

277
00:19:59,302 --> 00:20:02,542
they had a one-day Italian
followed by a one-day European.

278
00:20:03,122 --> 00:20:05,542
So we did sort of a day
attached to their conference

279
00:20:06,422 --> 00:20:10,522
in the summer of 2008, and then
in 2009 is when we had the first

280
00:20:11,102 --> 00:20:13,002
dedicated European event.

281
00:20:15,330 --> 00:20:19,350
[CLAIRE] Now, I know that some people
are really interested in history.

282
00:20:21,310 --> 00:20:25,150
I was lucky. I went to a university that
didn't have core curriculum requirements, so I

283
00:20:25,650 --> 00:20:27,710
used to brag about how I was

284
00:20:28,250 --> 00:20:31,450
pleased with myself that I didn't
take a single history class.

285
00:20:31,530 --> 00:20:34,730
And in hindsight, I regret that. But the point is,

286
00:20:35,570 --> 00:20:38,830
you gave a really interesting
talk at the beginning of PGConf.EU

287
00:20:39,430 --> 00:20:45,270
this year, a couple of weeks ago in
Valencia, and it was kind of your happy

288
00:20:45,750 --> 00:20:47,270
30th birthday talk.

289
00:20:47,330 --> 00:20:52,390
It was in your introduction to the whole
event, and you did share some photos and

290
00:20:53,510 --> 00:20:59,110
some of the details about the early PGConf.EU
days and everything you just described about that

291
00:20:59,150 --> 00:21:02,450
event in Italy. So my question
is, was that recorded?

292
00:21:02,610 --> 00:21:06,110
Is that going to be published online
at some point in the next month

293
00:21:06,150 --> 00:21:06,550
or so?

294
00:21:08,082 --> 00:21:13,902
[MAGNUS] I don't think so. We generally don't
record and publish the opening and the closing,

295
00:21:15,162 --> 00:21:19,142
because usually the opening
is just the practicalities.

296
00:21:20,802 --> 00:21:22,282
It doesn't normally have this.

297
00:21:22,730 --> 00:21:25,970
[CLAIRE] Yeah. Here's where you find the
bathrooms, and here's where the coffee is.

298
00:21:25,902 --> 00:21:29,142
[MAGNUS] Yeah, exactly. Which is very important.
Coffee and bathrooms are very important details, right?

299
00:21:29,542 --> 00:21:30,982
And that's not something worth recording.

300
00:21:33,310 --> 00:21:38,190
[CLAIRE] Oh, that's too bad because your intro this
year was definitely worth recording, and I always

301
00:21:38,250 --> 00:21:40,190
love the recap,

302
00:21:40,970 --> 00:21:44,830
the thanks for all the fish session
that you and Dave Page do at the very

303
00:21:44,910 --> 00:21:45,070
end.

304
00:21:45,410 --> 00:21:49,450
There's something about the two of you
together and your sense of humor that make it

305
00:21:49,550 --> 00:21:49,870
fun.

306
00:21:52,770 --> 00:21:54,510
Maybe next year you can record those.

307
00:21:55,542 --> 00:21:58,722
[MAGNUS] Yep, and we'll see. Maybe
there is something in the sort of

308
00:21:59,362 --> 00:22:02,982
the recordings that aren't matched to any
presentations, if there's something we can extract from

309
00:22:03,002 --> 00:22:03,122
there.

310
00:22:04,210 --> 00:22:08,370
[CLAIRE] Or maybe at least upload your slides,
because there were some cool photos in the slides

311
00:22:08,410 --> 00:22:08,930
that you shared.

312
00:22:09,142 --> 00:22:13,862
[MAGNUS] The photos were, I mean, credit where
due, the photos were all in the closing slides.

313
00:22:14,082 --> 00:22:17,762
There were very— there was
like a photo from an early

314
00:22:18,722 --> 00:22:19,922
PGConf.EU in my slides.

315
00:22:23,802 --> 00:22:26,842
The first appearance of the Slonik
suit is the only one that I had there.

316
00:22:29,410 --> 00:22:34,850
[CLAIRE] All right, so a lot happened in 2008.
There was this meeting at FOSDEM. You decide

317
00:22:35,830 --> 00:22:41,290
to form the nonprofit for PostgreSQL
Europe that I think eventually leads to the

318
00:22:42,130 --> 00:22:48,030
creation of PGConf.EU, or at least—sorry
about that—at least as a contributing factor.

319
00:22:48,470 --> 00:22:51,970
You join Redpill, not Redpill Linpro, but Redpill.

320
00:22:53,550 --> 00:22:55,330
Postgres is now more part of your life.

321
00:22:55,990 --> 00:22:58,053
Have you made any Postgres
friends yet at that point?

322
00:23:03,122 --> 00:23:06,042
[MAGNUS] Maybe one or two. I mean,
that's, yeah, a large group of

323
00:23:06,642 --> 00:23:09,162
friends over the years, some already from

324
00:23:10,682 --> 00:23:16,102
way before I started at Redpill.
Obviously something like the

325
00:23:18,142 --> 00:23:19,882
Postgres Conference Europe, or just in general,

326
00:23:20,342 --> 00:23:24,082
Postgres conferences started
in 2006, right, with the

327
00:23:25,102 --> 00:23:29,162
anniversary summit in Toronto, and that
was really the first chance to meet

328
00:23:29,722 --> 00:23:31,202
with most people in person.

329
00:23:31,282 --> 00:23:35,902
I think before that I had met with Bruce
Momjian and Dave Page, and that was

330
00:23:36,162 --> 00:23:38,062
it prior

331
00:23:39,962 --> 00:23:43,242
to this conference, and then sort of
everybody started to pile on from there,

332
00:23:44,122 --> 00:23:48,022
because, you know, if you're making, it's a
lot easier to make actual friends when you

333
00:23:48,062 --> 00:23:48,742
meet them in person.

334
00:23:49,870 --> 00:23:52,870
[CLAIRE] And wait, Dave Page
and who? Did you say Bruce?

335
00:23:53,022 --> 00:23:54,102
[MAGNUS] Bruce Momjian. Yep.

336
00:23:54,210 --> 00:23:54,410
[CLAIRE] Okay.

337
00:23:55,690 --> 00:23:59,190
And when you say the anniversary summit,
2006, I'm just doing the math in my head.

338
00:23:59,270 --> 00:24:01,850
That's the 10-year anniversary summit, right?

339
00:24:03,422 --> 00:24:03,662
[MAGNUS] Yes.

340
00:24:04,450 --> 00:24:07,930
[CLAIRE] Yes. So 10 years from when
the project was first open sourced.

341
00:24:08,270 --> 00:24:11,530
I saw some conflict out on the
internet the other day about,

342
00:24:12,250 --> 00:24:13,890
because we've all been making a big deal

343
00:24:14,810 --> 00:24:18,530
this year that Postgres has turned
30, or it's the 30th birthday.

344
00:24:18,970 --> 00:24:24,510
And people don't always finish the sentence,
that it's the 30th birthday of when the Postgres

345
00:24:25,210 --> 00:24:29,310
code was open sourced, right? When
the open source project began. And so

346
00:24:29,830 --> 00:24:34,870
somebody who was involved in the technology
earlier was like, wait a minute, it's actually 40.

347
00:24:34,990 --> 00:24:38,570
What are you guys talking about?
And there was a little debate.

348
00:24:38,012 --> 00:24:41,112
[MAGNUS] Yeah, I'm not sure even that
one is entirely correct, because at

349
00:24:42,012 --> 00:24:46,352
the code was still available open source
in the Berkeley days before that, right?

350
00:24:46,432 --> 00:24:51,872
But it's the open source project was 10
years then and is 30 years now, right?

351
00:24:51,932 --> 00:24:56,132
It's when, and it's when it became PostgreSQL.

352
00:25:00,372 --> 00:25:03,972
Left what we refer to as
Berkeley Postgres before then.

353
00:25:06,000 --> 00:25:11,519
[CLAIRE] So the beautiful name PostgreSQL, which can
be pronounced and spelled in multiple different ways.

354
00:25:12,212 --> 00:25:12,772
[MAGNUS] Oh yes.

355
00:25:15,520 --> 00:25:19,380
[CLAIRE] I like the Tom Lane email where
he's like, I think this is the worst mistake

356
00:25:19,420 --> 00:25:22,600
the project has ever made or something like that.

357
00:25:22,860 --> 00:25:24,500
I'll link to it in the show notes.

358
00:25:25,272 --> 00:25:27,492
[MAGNUS] Yeah, it's a good one, and, you know,

359
00:25:28,032 --> 00:25:32,072
if that is the biggest mistake we've
ever made, which to a point I can agree

360
00:25:32,092 --> 00:25:37,552
with, I think that really does put us
in a pretty good position, because it's

361
00:25:38,112 --> 00:25:41,472
an annoyance, and I'm sure it's
actually, if you started to analyze what,

362
00:25:42,272 --> 00:25:44,372
you know, it's probably cost
people because they created

363
00:25:44,892 --> 00:25:48,232
incorrect marketing materials and things
like that. But in the great scheme of things,

364
00:25:48,812 --> 00:25:51,932
it's an annoyance rather than a massive problem.

365
00:25:52,552 --> 00:25:53,452
But it is an annoyance.

366
00:25:55,280 --> 00:25:57,620
[CLAIRE] So, as I ask you all these questions,

367
00:25:58,540 --> 00:26:01,340
I think what I'm, the vibe I'm getting is that

368
00:26:02,240 --> 00:26:08,520
there wasn't a single trigger that
caused you overnight to become involved

369
00:26:09,540 --> 00:26:11,960
to a serious extent in the Postgres project.

370
00:26:12,300 --> 00:26:15,280
It kind of feels like it happened
little by little over time.

371
00:26:17,560 --> 00:26:19,220
Over a period of years, in fact.

372
00:26:20,012 --> 00:26:24,012
[MAGNUS] That is absolutely right. It's something
that grew on me. Then obviously then in 2008,

373
00:26:24,872 --> 00:26:28,872
when I started for Redpill, that's when
I got to work with it full time, and

374
00:26:28,912 --> 00:26:34,032
that changed the parameter some. But in
other ways, it was just a continuation

375
00:26:35,052 --> 00:26:40,312
of that path because, yeah,
definitely it was not a one event.

376
00:26:39,740 --> 00:26:45,740
[CLAIRE] And when you say work with it full
time, my understanding of your work at Redpill,

377
00:26:46,380 --> 00:26:50,420
and, oh, you're going to have to correct
me in this because I don't even know

378
00:26:50,460 --> 00:26:56,000
where I got this understanding from.
But you are an advisor, a consultant.

379
00:26:56,900 --> 00:27:02,380
You're deeply knowledgeable about how to use
Postgres, what the features are, how to configure it,

380
00:27:03,280 --> 00:27:06,540
what the challenges are, and
so you help your customers

381
00:27:07,460 --> 00:27:11,780
in their use of Postgres, whether that's
on-prem or some of them presumably run in the

382
00:27:11,820 --> 00:27:14,200
cloud as well. Is that right?

383
00:27:15,452 --> 00:27:23,332
[MAGNUS] Yep, that's pretty much right. So Redpill
Linpro is a traditional, if you will, the way

384
00:27:17,600 --> 00:27:19,020
[CLAIRE] Oh, where'd I get that?

385
00:27:23,872 --> 00:27:27,952
[MAGNUS] traditional open source services
company. So within the scope of Postgres,

386
00:27:28,952 --> 00:27:32,292
we do consulting, we do training,
we do support agreements.

387
00:27:32,812 --> 00:27:36,112
We have people who can run your
database for you if you, or if you run

388
00:27:36,152 --> 00:27:39,632
it on one of the big clouds, we have
people who can help you do that,

389
00:27:40,332 --> 00:27:45,272
sort of all sorts of services packaged
around Postgres. But we're fully,

390
00:27:45,852 --> 00:27:49,492
we don't have our own version
of Postgres. We just use,

391
00:27:50,292 --> 00:27:57,412
you know, Postgres. And then, of course, the
various cloud ways of running Postgres these days.

392
00:28:00,820 --> 00:28:05,540
[CLAIRE] So your day job involves Postgres
and working with customers, and then you also

393
00:28:06,120 --> 00:28:08,120
spend a lot of time contributing to the community.

394
00:28:08,260 --> 00:28:14,140
And I want to dive into your role on the
nonprofit, PostgreSQL Europe, because

395
00:28:14,620 --> 00:28:16,920
you've been president of that
for a very long time now.

396
00:28:17,920 --> 00:28:21,840
Your work on conferences, which include
PGConf.EU and also Nordic PGDay.

397
00:28:21,900 --> 00:28:24,260
We have to talk about Nordic. And then

398
00:28:25,520 --> 00:28:28,160
we should also talk about your
work on the infrastructure team.

399
00:28:29,120 --> 00:28:31,820
And then the core team. Like I
said, you wear a lot of hats.

400
00:28:32,672 --> 00:28:33,212
[MAGNUS] Too many hats.

401
00:28:34,300 --> 00:28:35,040
[CLAIRE] Where do you want to start?

402
00:28:35,732 --> 00:28:36,392
[MAGNUS] Ah, pick one.

403
00:28:40,580 --> 00:28:41,660
[CLAIRE] Nordic PGDay.

404
00:28:44,232 --> 00:28:48,612
[MAGNUS] Right, so Nordic PGDay is, well, for
those that don't know, that's one of these.

405
00:28:49,152 --> 00:28:52,192
We have them all around,
particularly, I think, in Europe.

406
00:28:52,232 --> 00:28:55,332
We have a pattern of them, but like a single day

407
00:28:56,612 --> 00:29:02,712
focused event that is smaller, we're not trying
to build a competitor to PGConf.EU, whatever. We

408
00:29:03,252 --> 00:29:05,352
have our PGConf.EU that is a big event

409
00:29:06,452 --> 00:29:10,872
across all of Europe, and then we
have these local PGDays that attract,

410
00:29:11,752 --> 00:29:16,672
or try to attract, people who otherwise
couldn't go, both because we come to them,

411
00:29:17,252 --> 00:29:21,452
we're closer to the people, and also it's
a one-day thing, not a one-week thing.

412
00:29:21,612 --> 00:29:27,032
So for people who are maybe not full-time
Postgresing, it's a lot easier to get approval

413
00:29:27,712 --> 00:29:31,212
from your boss to be allowed to
go if it's a shorter event. So

414
00:29:32,192 --> 00:29:37,352
Nordic PGDay, we got started, I think
it was 2014, so it has been a while

415
00:29:37,572 --> 00:29:43,052
now, that one as well. It was
primarily was me and Daniel Gustafsson.

416
00:29:43,352 --> 00:29:46,472
It was one other guy who helped
out named Claes Jakobsson.

417
00:29:47,172 --> 00:29:50,792
He hasn't really been involved in
the organization past helping us

418
00:29:51,132 --> 00:29:52,592
getting it off the ground initially, so.

419
00:29:54,512 --> 00:29:55,472
We got that one started.

420
00:29:56,772 --> 00:30:00,392
We called it, we named it Nordic
PGDay already from the first year.

421
00:30:00,452 --> 00:30:01,372
We had no idea

422
00:30:02,112 --> 00:30:05,072
what it was actually going to be, but we
started it in Stockholm because we live

423
00:30:05,092 --> 00:30:11,652
in Stockholm. And we started booking a
venue for 50 people, and we got about 100.

424
00:30:12,912 --> 00:30:16,572
So we had to expand as much as
we could within said venue, which

425
00:30:17,152 --> 00:30:22,092
we learned later led to a pretty bad experience
for some people because the venue really

426
00:30:22,412 --> 00:30:26,432
couldn't do 100 people well. But
it sort of set the tone that, whoa,

427
00:30:27,072 --> 00:30:28,512
there is a real demand for this.

428
00:30:30,912 --> 00:30:34,572
So we decided on that. So we now continue
to the point where we're running it

429
00:30:35,192 --> 00:30:42,152
across the four largest Nordic countries,
which is we rotate between Stockholm,

430
00:30:43,012 --> 00:30:47,372
Copenhagen, Helsinki and
Oslo, and we just go around,

431
00:30:49,072 --> 00:30:52,632
one year at each, so we
come back every four years.

432
00:30:53,970 --> 00:30:57,850
[CLAIRE] Yeah, so I've had the
privilege of speaking in Copenhagen.

433
00:30:58,010 --> 00:31:02,450
I think that was 2019, and Oslo in 2024.

434
00:31:04,210 --> 00:31:08,110
And I, the vibe at Nordic
PGDay is just really fun.

435
00:31:09,230 --> 00:31:13,310
I think it's the perfect size, perhaps,
right? Not so big to be overwhelming,

436
00:31:13,810 --> 00:31:16,090
but also much bigger than a meetup,

437
00:31:17,170 --> 00:31:20,690
with people from all over and
not just the Nordics attending.

438
00:31:20,750 --> 00:31:24,270
Although I imagine the majority of
people are from the Nordics. Am I right?

439
00:31:25,012 --> 00:31:27,332
[MAGNUS] The majority of the attendees
are definitely from the Nordics.

440
00:31:28,292 --> 00:31:29,872
Every year we end up, or not every year,

441
00:31:30,352 --> 00:31:32,912
actually maybe every year, we end up
in this little discussion of, well,

442
00:31:33,372 --> 00:31:35,532
you know, what about the
Baltic countries? What about

443
00:31:36,212 --> 00:31:40,612
we got a lot of people from Estonia
and Latvia, for example, as well.

444
00:31:40,712 --> 00:31:43,992
Aren't they the Nordics? And, you know,
shouldn't we put the conference there?

445
00:31:44,612 --> 00:31:46,332
So there are a few things around that.

446
00:31:46,392 --> 00:31:48,732
But it's definitely the Nordic
countries are the majority,

447
00:31:49,252 --> 00:31:52,912
get a fair amount of Germans, and I
think a trick is also once you get

448
00:31:52,952 --> 00:31:53,952
to these sizes of

449
00:31:54,832 --> 00:31:58,172
a hundred or more you can attract.

450
00:31:58,212 --> 00:32:03,312
So even if the attendees are locals, it's
still interesting for speakers to come in from

451
00:32:03,792 --> 00:32:08,432
all over Europe or, as you know, in
some cases from the U.S., for example,

452
00:32:09,872 --> 00:32:13,712
to speak. That probably wouldn't
happen if it was an event of 35 people.

453
00:32:15,330 --> 00:32:19,850
[CLAIRE] And you have, I think there's another
organizer as well, Georgios Kokolatos, right?

454
00:32:20,632 --> 00:32:23,792
[MAGNUS] Yes, Georgios joined
the organization a few years ago.

455
00:32:25,112 --> 00:32:28,892
Originally it was just me and Daniel, and
then we realized that we need more people.

456
00:32:29,632 --> 00:32:34,032
And we've already worked with Georgios, so
we started the classic, we pulled him in to

457
00:32:35,752 --> 00:32:36,912
be a volunteer, and then

458
00:32:37,372 --> 00:32:40,892
we promoted him to work more on the
call for papers, and then we roped him

459
00:32:40,952 --> 00:32:43,272
in to be on the organization,
and now he has no escape.

460
00:32:45,510 --> 00:32:52,150
[CLAIRE] So Daniel works at Microsoft, so
he and I are connected through multiple...

461
00:32:52,630 --> 00:32:54,930
through the community as well
as through our Microsoft work.

462
00:32:55,310 --> 00:32:58,729
And he was telling me the other day that
you guys are doing something different with

463
00:32:58,770 --> 00:33:03,370
your sponsorships this year, which I
think is really cool. So for sponsors who

464
00:33:03,870 --> 00:33:10,030
want to sponsor Nordic, they're also sponsoring
a fall event that's in, is it Gothenburg?

465
00:33:10,130 --> 00:33:10,690
Is that right?

466
00:33:11,712 --> 00:33:16,692
[MAGNUS] Yes, this year we're doing a
trial run. We'll see how well it works.

467
00:33:17,032 --> 00:33:19,912
Hopefully it does, because
we've been discussing these:

468
00:33:20,432 --> 00:33:24,752
should we only go to the capital cities, you
know, only Stockholm and Copenhagen and Oslo

469
00:33:24,812 --> 00:33:27,812
and whatever? What about the people who are in the

470
00:33:28,652 --> 00:33:32,732
sort of slightly smaller cities, but still
big enough that we think we can draw a

471
00:33:32,772 --> 00:33:37,032
crowd? In Sweden, the obvious
example there is Gothenburg.

472
00:33:37,732 --> 00:33:39,712
So we're trialing it in Sweden, where we're

473
00:33:40,292 --> 00:33:45,192
planning to run a smaller event there, and
we're intentionally putting it half a year away

474
00:33:45,232 --> 00:33:50,152
or so, putting it in the fall.
It'll be a smaller event in that the

475
00:33:50,772 --> 00:33:55,672
Stockholm event will have two tracks, the
Gothenburg event will have a single track, so we're

476
00:33:56,472 --> 00:33:57,552
slimming it down a little bit.

477
00:33:58,112 --> 00:34:02,812
The Stockholm event has an exhibition hall
with sponsors on site. The Gothenburg event

478
00:34:03,312 --> 00:34:06,992
will not have an exhibition. It'll
just be the track, and there will be

479
00:34:08,132 --> 00:34:12,132
flyers and stickers and things from the
sponsors and perhaps presentations, but

480
00:34:13,192 --> 00:34:18,332
a smaller one where we are hoping that
that will be attractive enough to bring in

481
00:34:19,252 --> 00:34:21,692
people who otherwise would
not come to Nordic PGDay.

482
00:34:22,332 --> 00:34:26,852
And if it's successful, we intend to continue
this with doing sort of a primary and

483
00:34:26,872 --> 00:34:27,772
a secondary city

484
00:34:28,572 --> 00:34:29,792
in each of the Nordic countries.

485
00:34:32,490 --> 00:34:33,930
[CLAIRE] I don't know if you know this, but

486
00:34:34,830 --> 00:34:42,110
this model of having a single sponsorship that
sponsors a main event plus some auxiliary—auxiliary,

487
00:34:42,290 --> 00:34:45,230
am I pronouncing that right?
Auxiliary. I can't even say the word.

488
00:34:46,690 --> 00:34:54,130
Aux events, aux, that's something that
PGConf India does as of, I guess, a year ago.

489
00:34:54,250 --> 00:35:01,410
So the sponsorships of PGConf India 2026

490
00:35:01,950 --> 00:35:08,690
include sponsoring the PG Pune one-day event
and the Hyderabad Postgres Days two-day event.

491
00:35:09,149 --> 00:35:14,530
But it's a single sponsorship, and as sponsors go,
that's really nice because it's less paperwork,

492
00:35:14,950 --> 00:35:21,330
it's less billing, it's less effort, and you
get to reach people in three different places.

493
00:35:21,410 --> 00:35:24,710
So I actually, I'm hopeful
that your experiment works out.

494
00:35:26,010 --> 00:35:28,270
And I know it seems to be
working out for the India team.

495
00:35:29,052 --> 00:35:33,072
[MAGNUS] Yeah, I am too. I was not
aware that the India team was doing it,

496
00:35:33,632 --> 00:35:36,492
but it certainly sounds like a smart thing to do.

497
00:35:36,532 --> 00:35:37,672
I think the trick is only to

498
00:35:40,332 --> 00:35:43,692
find the balance of what you're covering,
right? There has been discussions about

499
00:35:44,592 --> 00:35:48,852
doing something across sort of all European
conferences, because Nordic PGDay is

500
00:35:49,572 --> 00:35:54,032
formally organized by PostgreSQL Europe
as well, as is the German conference, the

501
00:35:54,512 --> 00:36:01,832
Paris conference, the Lowlands conference, these
are all actually organized by—UK as well—yeah,

502
00:35:57,610 --> 00:35:57,970
[CLAIRE] UK?

503
00:36:02,432 --> 00:36:07,852
[MAGNUS] they're organized by PostgreSQL Europe.
UK is a little bit special. There is an actual,

504
00:36:08,592 --> 00:36:12,592
there is an events management company called
Slonik Enterprises that actually runs it,

505
00:36:13,752 --> 00:36:17,892
but it's run by PostgreSQL Europe,
and it's under that company because

506
00:36:18,352 --> 00:36:23,772
the UK is not in the European Union. So we
need somewhere in that jurisdiction, right?

507
00:36:24,272 --> 00:36:28,392
Technically, Norway is also not in
the European Union, but they're in

508
00:36:29,312 --> 00:36:31,372
whatever the abbreviation is for what they're in.

509
00:36:33,252 --> 00:36:37,912
They're closer ties than those.
But the idea is, if you want to get

510
00:36:38,512 --> 00:36:42,712
a sponsorship that covers all of Europe, you're
probably limiting the number of sponsors who are

511
00:36:42,772 --> 00:36:49,236
interested in that. Large companies like Microsoft
as an example would probably still be interested.

512
00:36:50,656 --> 00:36:54,496
But a bunch of other companies might be,
no, we are only interested in the French

513
00:36:54,576 --> 00:36:57,836
market or in the German market, for
example, and they wouldn't want to

514
00:36:58,416 --> 00:37:00,916
go in across all of Europe.
But our idea here is, well,

515
00:37:01,456 --> 00:37:03,056
we're focusing on the Nordics.

516
00:37:05,156 --> 00:37:08,656
If I would say it's unlikely that
a sponsor would be interested

517
00:37:09,176 --> 00:37:13,396
in Stockholm but not Gothenburg.
These are so close together, both

518
00:37:14,556 --> 00:37:17,216
business-wise and geographically,
that it just makes sense.

519
00:37:19,534 --> 00:37:21,054
[CLAIRE] All right. So

520
00:37:22,434 --> 00:37:26,894
since we're on the topic of conferences,
the natural place to go is talk about the

521
00:37:26,934 --> 00:37:28,933
PostgreSQL Europe nonprofit and

522
00:37:29,454 --> 00:37:34,394
PGConf.EU, which you've been an organizer
of for as many years as I can remember.

523
00:37:34,754 --> 00:37:35,894
But actually, I want to pivot.

524
00:37:36,094 --> 00:37:39,454
I don't want to do that because
some people who are listening

525
00:37:39,954 --> 00:37:43,894
are big fans of these conferences, and
they could listen to us talk about it for

526
00:37:43,934 --> 00:37:44,234
an hour.

527
00:37:44,594 --> 00:37:48,954
But there might be other people listening
who would be more interested in the work that

528
00:37:49,014 --> 00:37:50,774
you do on infrastructure,

529
00:37:51,554 --> 00:37:57,794
which I don't even think people realize how much
of the infrastructure that runs the Postgres

530
00:37:57,874 --> 00:38:00,814
organization is self-managed.

531
00:38:01,514 --> 00:38:04,374
And, you know, some people
probably don't even realize that

532
00:38:05,254 --> 00:38:07,614
our source code isn't developed in GitHub.

533
00:38:07,694 --> 00:38:11,634
There's a GitHub mirror, but it's not
developed in GitHub. So, I don't know.

534
00:38:11,674 --> 00:38:12,834
Talk to us about infrastructure.

535
00:38:15,296 --> 00:38:17,836
[MAGNUS] I think it's one of those things,
yeah. A lot of people don't realize

536
00:38:19,296 --> 00:38:22,496
how much there is to it, and
a lot of them don't realize,

537
00:38:23,296 --> 00:38:27,716
in some cases I think also not why
it's not done, right? And I think it's,

538
00:38:28,576 --> 00:38:30,716
I mean, it's a separate discussion on exactly

539
00:38:31,316 --> 00:38:38,456
the development models, but the Postgres project
has always been self-hosted since it left Berkeley.

540
00:38:40,976 --> 00:38:45,316
It was originally on a bunch of machines
that were sponsored by Marc Fournier, who was

541
00:38:45,356 --> 00:38:52,656
one of the original core team, the original
group of people when the project left Berkeley.

542
00:38:53,516 --> 00:38:57,096
He had a hosting business, so he sponsored with

543
00:38:57,596 --> 00:39:01,416
some virtual machines basically for the project
to run its stuff on, and ever since then

544
00:39:02,076 --> 00:39:03,277
it has been running self-hosted.

545
00:39:05,496 --> 00:39:07,656
The reason for it, I mean,
there are numerous reasons.

546
00:39:07,956 --> 00:39:11,216
I still vividly remember
the days when we were told

547
00:39:11,696 --> 00:39:16,476
in no uncertain terms that the project was
completely doomed unless we immediately moved to

548
00:39:16,516 --> 00:39:20,736
SourceForge, because everybody forever
would only ever be using SourceForge.

549
00:39:22,536 --> 00:39:24,396
And we all know what happened to that.

550
00:39:25,494 --> 00:39:30,314
[CLAIRE] Well, I imagine there's a bunch of people
listening who've never even heard of SourceForge, so.

551
00:39:31,016 --> 00:39:33,556
[MAGNUS] They were, I mean, they were sort
of, I guess they were the GitHub of the

552
00:39:33,596 --> 00:39:36,496
time, and then they never got to the point of

553
00:39:37,256 --> 00:39:41,916
being successful enough, so they
started being ads, more and more ads.

554
00:39:41,976 --> 00:39:47,896
At some point they started injecting ads in the
downloads from projects and things like that.

555
00:39:48,056 --> 00:39:50,856
So people, you know, there was an exodus and—

556
00:39:51,956 --> 00:39:54,476
There were issues with, well,
where do we go now? There

557
00:39:55,036 --> 00:39:58,596
have been other projects, like, well, our
hosting went away, what are we going to do,

558
00:39:58,736 --> 00:40:02,996
kind of thing. And the central
Postgres project has always felt that

559
00:40:03,576 --> 00:40:05,536
they wanted to be in control

560
00:40:06,756 --> 00:40:13,036
of those things. Now, as you say, we have a
GitHub mirror today. There are discussions

561
00:40:13,596 --> 00:40:17,956
that always around people saying, well, why don't
we use the GitHub workflow for development, which

562
00:40:18,016 --> 00:40:21,576
is in a lot of ways a different
question, right? You could do both,

563
00:40:22,476 --> 00:40:27,156
but the core thing that the project has
wanted is the control, the ownership

564
00:40:28,816 --> 00:40:29,936
of the problem, if you will.

565
00:40:31,916 --> 00:40:36,096
We've had a few things that have not been
running on the infrastructure, and most of

566
00:40:36,136 --> 00:40:38,816
them have at some point or
other started causing problems.

567
00:40:40,236 --> 00:40:45,506
I think when it comes to things like GitHub, for
example, today, we're probably—they're not going

568
00:40:45,506 --> 00:40:45,976
to go away.

569
00:40:47,496 --> 00:40:52,976
But we have had cases, so all the infrastructure
for Postgres is obviously sponsored by someone.

570
00:40:54,696 --> 00:40:57,156
Hosting is given to us for
free in different places.

571
00:40:57,656 --> 00:41:01,776
And we had, was it two years ago, we
had one of our large providers suddenly

572
00:41:01,836 --> 00:41:02,615
exited the market.

573
00:41:03,536 --> 00:41:07,256
And we're like, you have a couple of months,
and then everything gets powered off.

574
00:41:09,796 --> 00:41:14,756
But given that we ran our own things
on them, we could migrate everything

575
00:41:15,516 --> 00:41:16,456
to hosting elsewhere,

576
00:41:19,236 --> 00:41:21,076
which is the reason for doing it.

577
00:41:21,316 --> 00:41:25,316
If a provider goes away, we as
the project are still in control

578
00:41:25,896 --> 00:41:27,096
of our own fate, so to speak.

579
00:41:31,994 --> 00:41:36,994
[CLAIRE] And you're hosting, you're managing the
infrastructure that sits behind the mailing lists, right?

580
00:41:37,154 --> 00:41:38,754
Which means you're dealing with mail servers.

581
00:41:39,796 --> 00:41:40,296
[MAGNUS] Oh yeah, that's

582
00:41:41,696 --> 00:41:42,796
one of the least fun parts.

583
00:41:45,896 --> 00:41:50,976
Mail is hard, but the things we
have are working pretty well.

584
00:41:51,136 --> 00:41:56,376
There are obvious usability issues
to email at the volumes that

585
00:41:56,896 --> 00:42:02,016
many of our mailing lists are dealing
with today. But technically, the delivery

586
00:42:03,076 --> 00:42:05,656
is working pretty well. So yeah, there is,

587
00:42:06,136 --> 00:42:10,176
we got everything from mailing lists,
obviously the websites and the downloads and

588
00:42:11,836 --> 00:42:16,776
you know, there is a wiki, there are conference
management systems, there's all sorts of stuff.

589
00:42:18,114 --> 00:42:21,854
[CLAIRE] I mean, so I'm looking
at a slide that I created

590
00:42:22,694 --> 00:42:28,334
in collaboration with Daniel Gustafsson for
PGConf.EU last year, where I talked about all the

591
00:42:28,394 --> 00:42:32,754
contributions behind the
Postgres 18 major release. And

592
00:42:33,914 --> 00:42:37,474
the title of it is, Who
serves on the sysadmin team?

593
00:42:37,534 --> 00:42:40,914
And I think that's, is that what we're talking
about when we talk about project infrastructure?

594
00:42:41,374 --> 00:42:43,414
It's the sysadmin team. Am I right?

595
00:42:43,416 --> 00:42:44,376
[MAGNUS] Yes. Yes.

596
00:42:44,614 --> 00:42:50,114
[CLAIRE] Okay, and I don't know if there's
been turnover in the team, but the people on

597
00:42:50,154 --> 00:42:56,094
that team a year ago were yourself,
Álvaro Herrera, Stefan Kaltenbrunner,

598
00:42:56,674 --> 00:43:00,194
Dave Page, Joe Conway, Christophe
Pettus, and Yogesh Sharma. Is it?

599
00:43:01,014 --> 00:43:02,894
Has it's probably, maybe it's changed.

600
00:43:03,666 --> 00:43:04,346
[MAGNUS] It has not.

601
00:43:04,014 --> 00:43:04,634
[CLAIRE] Or is that about?

602
00:43:05,314 --> 00:43:06,694
Okay, so that's about right.

603
00:43:06,366 --> 00:43:10,386
[MAGNUS] But that must have been, that
would have been rather soon after Yogesh

604
00:43:11,046 --> 00:43:14,366
was added to the team. He's the
latest addition to the team.

605
00:43:15,274 --> 00:43:18,154
[CLAIRE] Okay, yeah, that
was October 2025. And then

606
00:43:19,154 --> 00:43:24,034
obviously the PostgreSQL.org website, I have
a whole list of all of the different sites,

607
00:43:24,534 --> 00:43:30,414
the mailing list infrastructure, PostgreSQL.org
email, because I guess all the committers,

608
00:43:30,874 --> 00:43:35,034
right, have an email address on PostgreSQL.org
and the board members and things like that.

609
00:43:35,894 --> 00:43:37,994
The Git mirror, the Commitfest

610
00:43:38,814 --> 00:43:44,614
subdomain, the buildfarm subdomain, Babel, which
is for the error message translations, right?

611
00:43:45,114 --> 00:43:45,834
And then the wiki.

612
00:43:46,814 --> 00:43:54,314
So, and maybe there's more. Maybe those are
just the majority, the most visible sites and

613
00:43:54,854 --> 00:43:59,194
domains and subdomains that I put
on my slide. Tell me, is there more?

614
00:43:58,526 --> 00:44:04,666
[MAGNUS] Yep, I think that's right. That's
the top of the iceberg, right? Yeah, I mean,

615
00:44:05,146 --> 00:44:08,806
even, for example, the downloads, where

616
00:44:10,686 --> 00:44:15,826
the Postgres infrastructure itself hosts obviously
the Postgres source code itself, and also

617
00:44:16,846 --> 00:44:22,706
all the apt, so apt for Debian, Ubuntu,
and things like that, and the RPMs for

618
00:44:23,366 --> 00:44:26,586
Red Hat and Fedora and SUSE. All of these are

619
00:44:27,366 --> 00:44:28,866
hosted by us to make sure that

620
00:44:30,146 --> 00:44:34,206
they're always available and that
nobody injects ads into our installers.

621
00:44:35,246 --> 00:44:39,906
The big exception is the Windows installers,
which are hosted by EnterpriseDB at this point.

622
00:44:42,766 --> 00:44:47,466
But everything else is hosted there.
And then the support, for example, the

623
00:44:49,466 --> 00:44:54,646
management systems for different conferences
around the world. We run a bunch of those for,

624
00:44:55,146 --> 00:45:00,586
we run for PostgreSQL Europe, obviously, but
for Postgres US, for the group in Canada, etc.

625
00:45:02,234 --> 00:45:05,834
[CLAIRE] Yeah, I love the user
interface improvements that have been,

626
00:45:06,314 --> 00:45:11,174
that you guys have been making to the
conference websites in the last couple of years.

627
00:45:13,054 --> 00:45:14,614
It's really been nice, so.

628
00:45:15,526 --> 00:45:17,666
[MAGNUS] They are, they, let's
say they're great, aren't they?

629
00:45:17,746 --> 00:45:20,986
That's what happens when you
find somebody not me who does it,

630
00:45:22,066 --> 00:45:23,586
who does a way better job than me.

631
00:45:24,494 --> 00:45:27,614
[CLAIRE] Is that somebody Chris Ellis?
Is that, has he been involved in that?

632
00:45:27,986 --> 00:45:29,726
[MAGNUS] A lot of the ones in
Europe have been Chris Ellis,

633
00:45:30,586 --> 00:45:36,146
but if you look, for example, at the Canadian
conference, it's Kaiting who's doing that.

634
00:45:36,646 --> 00:45:42,446
So there's different people in different
places. I don't actually know who does the U.S.

635
00:45:42,506 --> 00:45:44,886
ones these days, but the point being,

636
00:45:45,526 --> 00:45:49,606
you should do what you're good at, and
graphical design or something, that is not what

637
00:45:49,666 --> 00:45:52,426
I'm good at. So I'm very
glad to leave that to others.

638
00:45:54,834 --> 00:45:58,474
[CLAIRE] I will include in the show notes
a link to a talk that you gave, speaking

639
00:45:58,494 --> 00:46:05,114
of the Canadian conference, at
PGConf.dev 2025, which is that annual

640
00:46:05,794 --> 00:46:08,174
development conference that brings together

641
00:46:08,934 --> 00:46:14,314
contributors, community members, committers
from all over the world once a year. And

642
00:46:15,354 --> 00:46:20,074
people tend to commiserate on the release
that is kind of getting to feature freeze and

643
00:46:20,474 --> 00:46:22,674
also start to collaborate
on the next release, right?

644
00:46:23,074 --> 00:46:28,654
Anyway, you gave a talk, and it was called
"postgresql.org: The hidden parts," and I

645
00:46:29,894 --> 00:46:35,214
really enjoyed it because you explained, like
you're starting to hear, but you went even deeper

646
00:46:35,614 --> 00:46:39,674
into why we do this. Because people
sometimes scratch their heads and, like,

647
00:46:41,234 --> 00:46:44,334
why are you incurring that headache?
Why don't you let the management

648
00:46:44,814 --> 00:46:48,614
of the infrastructure be someone else's
problem? Why don't you put it in the cloud?

649
00:46:49,014 --> 00:46:52,314
And so you talked about the why, and
you also kind of shined a light on

650
00:46:52,374 --> 00:46:53,714
all the work that's involved and—

651
00:46:54,714 --> 00:46:58,494
You probably also said, if any of you
want to help, feel free to contact me.

652
00:47:00,334 --> 00:47:02,514
So it's a good talk, and I will link to it.

653
00:47:03,306 --> 00:47:03,586
[MAGNUS] Thank you.

654
00:47:06,194 --> 00:47:11,454
[CLAIRE] All right, so we should probably
switch gears from infrastructure, except,

655
00:47:12,534 --> 00:47:16,414
I don't know, have there been any particularly
exciting stories in the infrastructure space in the

656
00:47:16,434 --> 00:47:18,114
last couple of months that you want to share?

657
00:47:19,146 --> 00:47:23,466
[MAGNUS] Not really. A lot of the things
that are happening there are now are battling

658
00:47:24,166 --> 00:47:26,206
AI agents that are

659
00:47:27,566 --> 00:47:31,226
basically, overloading pretty much
everything on the entire internet

660
00:47:32,186 --> 00:47:35,306
and flooding everything everywhere. So a lot of

661
00:47:35,766 --> 00:47:39,006
our sort of some of our site systems
that are really just for Postgres,

662
00:47:39,526 --> 00:47:41,426
like our buildfarm, for example, has

663
00:47:42,546 --> 00:47:45,366
done just fine until AI
agents showed up, and suddenly

664
00:47:46,026 --> 00:47:50,406
you need to optimize it in a whole
different way because they're

665
00:47:51,286 --> 00:47:57,386
not following the rules. You put these,
the good old robots.txt that you'd put on a

666
00:47:57,926 --> 00:48:00,926
site to tell search engines what they're
allowed to do and what they're not allowed to

667
00:48:00,966 --> 00:48:01,106
do.

668
00:48:02,246 --> 00:48:06,206
None of the AI systems care
about that. So now you need

669
00:48:07,186 --> 00:48:10,766
to put more defenses in place for a
bunch of these things. And unfortunately,

670
00:48:11,386 --> 00:48:15,266
that's what a lot of the work
has been around recently.

671
00:48:17,994 --> 00:48:23,194
[CLAIRE] Yeah, I feel like that that's an evolving
space though, because obviously the AI agents can

672
00:48:23,254 --> 00:48:23,614
also

673
00:48:24,374 --> 00:48:31,234
help people, right? Access information that
was difficult to access previously. And so

674
00:48:32,654 --> 00:48:36,254
I just feel like we're in
this in-between state where

675
00:48:37,194 --> 00:48:40,674
they were—it was like the wild west,
and it's going to have to be a little

676
00:48:40,694 --> 00:48:45,114
bit more controlled so the people
managing the infrastructure don't suffer,

677
00:48:45,574 --> 00:48:50,114
but also so people who need access to
data can get it more efficiently. Am I—

678
00:48:51,754 --> 00:48:54,774
Would you disagree? Is that
too Pollyanna of a perspective?

679
00:48:56,446 --> 00:48:59,926
[MAGNUS] No, no, I think you're right.
In general, some of this is just,

680
00:49:00,466 --> 00:49:04,546
yeah, nobody looked at the data before, or
very few people looked at the data before,

681
00:49:05,246 --> 00:49:08,106
and more people are looking at
the data now, and in that regard

682
00:49:09,442 --> 00:49:10,622
it's probably a positive, right?

683
00:49:10,742 --> 00:49:15,422
Once you manage to actually deliver it,
but as you say, more people get access to

684
00:49:15,462 --> 00:49:20,302
the information and can do more things with
it, and that part is definitely a positive.

685
00:49:21,422 --> 00:49:25,262
But sometimes it's the how it's done that

686
00:49:27,622 --> 00:49:30,242
needs to be a little bit more polished,
or I say, a little bit less wild

687
00:49:30,302 --> 00:49:30,622
west.

688
00:49:33,104 --> 00:49:34,084
[CLAIRE] Okay, so let's switch gears.

689
00:49:35,704 --> 00:49:40,644
From infrastructure then, since I was fishing for
some dramatic story and doesn't sound like there

690
00:49:41,244 --> 00:49:43,144
is one at the top of your head right now,

691
00:49:44,064 --> 00:49:46,443
besides, like you said,
the onslaught of AI agents.

692
00:49:47,844 --> 00:49:52,984
PostgreSQL Europe, the nonprofit, which
you've been involved with since 2008.

693
00:49:54,044 --> 00:49:58,244
So coming up on 20 years, what's that like?

694
00:49:58,604 --> 00:50:02,284
How much of your time does it
take? Do you enjoy it? Is it,

695
00:50:03,784 --> 00:50:07,744
clearly it's making a
difference. You've presided over,

696
00:50:10,264 --> 00:50:13,624
not that PostgreSQL Europe gets all the
credit, but there's been a lot of growth to

697
00:50:13,664 --> 00:50:16,384
the Postgres technology in
that time frame, for sure.

698
00:50:16,824 --> 00:50:20,204
And PGConf.EU has grown
dramatically, as have all these

699
00:50:20,944 --> 00:50:21,644
other events.

700
00:50:23,202 --> 00:50:27,342
[MAGNUS] Yeah, it certainly has. And, yeah,
it's a very different world. When we started it,

701
00:50:27,962 --> 00:50:31,702
then I don't think we could have
ever imagined things like we'd put on

702
00:50:32,862 --> 00:50:35,682
a conference for 750 people over four days,

703
00:50:36,382 --> 00:50:39,722
and with budgets that were counting
into the hundreds of thousands of euros.

704
00:50:41,182 --> 00:50:45,302
That is not what we were thinking when
we were sitting outside the city wall in

705
00:50:45,342 --> 00:50:51,522
Prato, where the local Linux user group
had a bar in the middle of the wall,

706
00:50:52,942 --> 00:50:56,062
that when we just sat around and said,
hey, we should start a nonprofit and start

707
00:50:56,102 --> 00:50:59,842
doing this, right? I don't think any
one of us would have expected that.

708
00:50:59,882 --> 00:51:01,582
So the growth has been tremendous.

709
00:51:03,782 --> 00:51:08,802
At the level of PostgreSQL Europe itself,
sort of at the core, it's kind of the

710
00:51:08,862 --> 00:51:11,222
same as when we talk about the
Postgres core team, which is

711
00:51:12,442 --> 00:51:18,642
we mostly do the boring stuff, right? Doing
PGConf.EU, doing Nordic PGDay, that's fun.

712
00:51:19,422 --> 00:51:23,802
That's the good stuff, but that is not
necessarily, that's just something that

713
00:51:24,442 --> 00:51:26,542
PostgreSQL Europe is there to facilitate.

714
00:51:28,282 --> 00:51:30,902
Now, it is our flagship event,
and a lot of the people,

715
00:51:31,402 --> 00:51:32,762
or I would say all of the people on the

716
00:51:33,362 --> 00:51:38,842
PostgreSQL Europe board are also involved
in it. But it is mostly a separate thing.

717
00:51:38,942 --> 00:51:40,322
So when it comes to

718
00:51:41,082 --> 00:51:46,182
PGConf.EU, some of the most important
things that PostgreSQL Europe does is

719
00:51:47,502 --> 00:51:51,802
say no, sadly, but, you know, make sure that
the budget is maintained, make sure that

720
00:51:51,822 --> 00:51:55,602
we're not missing on formalities,
make sure that we're following

721
00:51:56,142 --> 00:51:59,562
the rules as necessary, that contracts
are signed the way they should be.

722
00:52:00,202 --> 00:52:03,942
All of that stuff is really
mostly about facilitation.

723
00:52:09,064 --> 00:52:13,804
[CLAIRE] You say that conferences are fun, organizing
conferences, presumably, and that that's the good

724
00:52:13,904 --> 00:52:14,204
stuff.

725
00:52:16,004 --> 00:52:20,944
I am not an organizer of PGConf.EU,
clearly, but I'm a sponsor,

726
00:52:21,404 --> 00:52:27,164
and I was a speaker and a community member,
and that's three hats. You obviously wear

727
00:52:27,664 --> 00:52:31,584
at least four hats, maybe
five or six at the event.

728
00:52:31,904 --> 00:52:34,284
Were you as exhausted as I was at the end of it?

729
00:52:36,162 --> 00:52:36,402
[MAGNUS] Yes.

730
00:52:38,562 --> 00:52:39,502
I think that's very simple.

731
00:52:39,842 --> 00:52:44,702
No, it's, I mean, it's, yeah, that one
week, obviously, it's also the lead up to

732
00:52:44,782 --> 00:52:48,402
it gets exponentially more
and more as you get closer.

733
00:52:50,802 --> 00:52:51,602
Yeah, it's a

734
00:52:54,042 --> 00:52:56,102
heavy week, but it's also very satisfying.

735
00:53:00,124 --> 00:53:00,125
[CLAIRE] Yeah.

736
00:53:00,124 --> 00:53:05,504
And I assume you're doing a lot of reflection and
post-postmorteming or retrospectives and things

737
00:53:05,524 --> 00:53:06,264
like that right now

738
00:53:06,804 --> 00:53:07,044
to capture the memories of what you want to
do differently next year before you forget.

739
00:53:15,082 --> 00:53:18,742
[MAGNUS] Yep, yeah, we're just getting into
that part of stuff. We're collecting the

740
00:53:19,762 --> 00:53:24,502
feedback from the attendees who've been there
and from ourselves, from the whole team,

741
00:53:25,261 --> 00:53:28,882
because there obviously there
were some things that didn't go

742
00:53:29,942 --> 00:53:35,062
as expected, and as I usually try to tell
people, our job as the organizers then

743
00:53:35,102 --> 00:53:39,142
is to make sure that attendees and
sponsors and whatever don't notice,

744
00:53:40,242 --> 00:53:41,602
that you sort of take care of it.

745
00:53:41,682 --> 00:53:47,282
But there are obviously things in our organization
that needs improvements or updates as we go

746
00:53:47,382 --> 00:53:51,742
because, yeah, all sorts of
retrospectives out of different

747
00:53:52,742 --> 00:53:54,402
aspects to it that need to be done

748
00:53:55,082 --> 00:53:57,302
so that we can get ready to
start moving on the next year.

749
00:53:58,544 --> 00:54:04,744
[CLAIRE] So for anybody who's listening and
is unfamiliar, PGConf.EU is an annual Postgres

750
00:54:05,604 --> 00:54:07,664
user and developer

751
00:54:08,844 --> 00:54:14,484
and contributor and community member conference,
it's people of all types of involvement with

752
00:54:15,244 --> 00:54:21,704
Postgres, and it moves around. So it's in
a different country and city every year.

753
00:54:22,104 --> 00:54:25,304
And this past year, a couple weeks ago, it was in,

754
00:54:26,264 --> 00:54:27,544
oh my gosh, a week and a half ago.

755
00:54:28,284 --> 00:54:30,104
No, two weeks ago, it was in Valencia, Spain.

756
00:54:30,984 --> 00:54:36,024
But the previous year it was in Latvia,
in Riga, and before that it was Athens,

757
00:54:36,124 --> 00:54:39,904
Greece, and before that it was Berlin. Am I right?

758
00:54:40,644 --> 00:54:41,324
Berlin, Germany.

759
00:54:42,222 --> 00:54:42,482
[MAGNUS] Prague.

760
00:54:42,744 --> 00:54:47,244
[CLAIRE] Prague. Oh, I can't forget
Prague. And it's almost always in October.

761
00:54:47,384 --> 00:54:52,324
Prague, that particular year, 2023, it was
in December, but that's a whole other story.

762
00:54:53,664 --> 00:54:58,784
What's really cool is I remember
there was a group of friends who

763
00:54:59,424 --> 00:55:00,244
came by our booth.

764
00:55:00,404 --> 00:55:04,524
I think this was last year, and they
had met at a previous PGConf.EU.

765
00:55:05,184 --> 00:55:10,184
And they make a point—they, prior to that,
they were strangers—and they make a point of

766
00:55:10,244 --> 00:55:15,504
coming to PGConf.EU every year, partly to learn
about the technology, partly to see each other,

767
00:55:16,444 --> 00:55:21,904
and partly to see a new part of Europe.
So it's really got a positive vibe,

768
00:55:22,488 --> 00:55:26,868
and it's been growing year over
year. I think you had, what, 747

769
00:55:27,928 --> 00:55:29,348
attendees this year, is that right?

770
00:55:32,452 --> 00:55:32,892
[MAGNUS] Yep. That's correct.

771
00:55:33,408 --> 00:55:36,028
[CLAIRE] So, anyway, if you
haven't gone yet, you should go.

772
00:55:36,192 --> 00:55:40,752
[MAGNUS] It's been going a little up and down
recently, and COVID obviously made some impacts on,

773
00:55:40,952 --> 00:55:44,612
I mean, not just obviously the two years
when we didn't do anything because of COVID,

774
00:55:45,012 --> 00:55:49,092
but it also sort of put a little notch in the line

775
00:55:49,952 --> 00:55:54,072
after as well before we realized that,
yes, people are actually still interested

776
00:55:54,672 --> 00:55:57,992
in going to these events, so
we should keep doing them.

777
00:56:00,368 --> 00:56:04,768
[CLAIRE] Yeah, and obviously part of the value
are the talks and the speakers and everything that

778
00:56:04,808 --> 00:56:05,448
you can learn there.

779
00:56:05,548 --> 00:56:09,168
But the other part of the value is in
the hallway track and the people you

780
00:56:09,228 --> 00:56:14,168
meet, the friendships you make. And,
you know, sometimes people find jobs,

781
00:56:15,028 --> 00:56:17,188
or they don't realize they're finding a job.

782
00:56:17,228 --> 00:56:22,188
They're meeting someone who years later that
manifests itself into a job opportunity. So

783
00:56:23,428 --> 00:56:24,528
it's definitely good networking.

784
00:56:26,988 --> 00:56:28,548
And you have not yet announced.

785
00:56:28,588 --> 00:56:32,068
You're not going to announce on today's show
where next year's PGConf.EU is, are you?

786
00:56:32,428 --> 00:56:32,888
Or are you?

787
00:56:33,092 --> 00:56:33,612
[MAGNUS] No, I'm not.

788
00:56:34,768 --> 00:56:38,308
[CLAIRE] Oh, that would be so cool. We
should have talked about that beforehand.

789
00:56:39,408 --> 00:56:40,588
That could have been amazing.

790
00:56:41,768 --> 00:56:41,928
Oh, okay.

791
00:56:42,212 --> 00:56:44,552
[MAGNUS] Yep, but no. Sorry.

792
00:56:44,368 --> 00:56:44,548
[CLAIRE] Okay.

793
00:56:45,628 --> 00:56:49,488
So, and the reason you're not announcing it yet,
presumably, is because you don't announce until

794
00:56:49,548 --> 00:56:51,948
you've signed the contracts, right?

795
00:56:52,612 --> 00:56:57,092
[MAGNUS] Correct. We've made that mistake once
and announced it without having signed a contract,

796
00:56:57,592 --> 00:56:59,432
and then it turns out we didn't have a contract,

797
00:57:00,152 --> 00:57:03,692
and we had to change to a different
place, not just a different venue, but a

798
00:57:03,712 --> 00:57:04,312
different city,

799
00:57:05,192 --> 00:57:10,372
which causes all sorts of problems for
people who might already be planning.

800
00:57:11,252 --> 00:57:12,792
Some people start planning their travel

801
00:57:14,152 --> 00:57:15,512
immediately as we announce.

802
00:57:17,028 --> 00:57:17,988
[CLAIRE] Yeah, for sure.

803
00:57:18,048 --> 00:57:21,168
Or at least they put it on their family
calendars to make sure they don't get

804
00:57:21,788 --> 00:57:23,568
double booked. Same with their work calendars.

805
00:57:24,892 --> 00:57:29,652
[MAGNUS] Yeah, and in some cases even to
the point of, oh, I'm figuring out how I'm

806
00:57:29,672 --> 00:57:30,212
going to get there.

807
00:57:30,212 --> 00:57:32,672
You know, I'm going to take the train,
I'm going to fly, I'm going to drive,

808
00:57:33,592 --> 00:57:35,132
getting all that sorts of planning in

809
00:57:37,372 --> 00:57:41,752
pretty early on. So, yeah, we want to
make sure that once we announce, we know

810
00:57:42,232 --> 00:57:43,692
that it's going to happen then and there.

811
00:57:46,628 --> 00:57:47,028
[CLAIRE] Okay.

812
00:57:47,828 --> 00:57:52,228
So one of the questions I didn't prepare
you for—well, just so people know, I don't

813
00:57:52,268 --> 00:57:54,028
prepare you for most of the questions.

814
00:57:54,108 --> 00:57:56,428
I think I shared a handful of them beforehand, but

815
00:57:56,928 --> 00:58:00,188
I never really know what I'm going to
ask until we get in the conversation.

816
00:58:00,548 --> 00:58:03,168
But I am really curious if

817
00:58:03,888 --> 00:58:08,528
you feel like there was a lucky
break somewhere along the way

818
00:58:09,108 --> 00:58:12,348
with your work on Postgres or with Postgres.

819
00:58:14,508 --> 00:58:15,488
Was there a moment

820
00:58:16,788 --> 00:58:19,148
where you look back and think, thank goodness?

821
00:58:22,232 --> 00:58:22,872
[MAGNUS] It's a good question.

822
00:58:22,912 --> 00:58:25,772
I mean, I think, if anything,
I think it was when I took the

823
00:58:26,912 --> 00:58:28,412
step to actually work

824
00:58:29,592 --> 00:58:33,852
with Postgres as my primary job,
right? Not just as a user, but

825
00:58:34,472 --> 00:58:35,852
getting into the space of

826
00:58:37,172 --> 00:58:41,492
Postgres services and working full time
on it. Prior to that, it had been as—

827
00:58:41,548 --> 00:58:42,168
[CLAIRE] At Redpill.

828
00:58:42,432 --> 00:58:44,712
[MAGNUS] Yes, correct, that
Redpill. Prior to that, it had been

829
00:58:46,472 --> 00:58:48,952
as a user part-time and as
a hobby on the side, right?

830
00:58:48,992 --> 00:58:50,452
And that's when it really became

831
00:58:51,232 --> 00:58:54,872
a job as well, and I mean,
yeah, it's being allowed to

832
00:58:56,112 --> 00:58:58,932
have your job be your hobby,
or your hobby be your job.

833
00:59:00,872 --> 00:59:02,152
That's pretty sweet.

834
00:59:06,208 --> 00:59:07,388
[CLAIRE] Okay. I think I had a lucky break.

835
00:59:08,748 --> 00:59:13,608
Boriss Mejías was telling me that he
wants me to be a guest on this podcast.

836
00:59:14,428 --> 00:59:16,268
Excuse me, on this podcast at some point.

837
00:59:16,868 --> 00:59:20,728
And so maybe I'll save my lucky
break story for when that happens.

838
00:59:25,108 --> 00:59:28,628
I find sometimes, when I think
about the Tom Lane episode

839
00:59:29,248 --> 00:59:34,148
and his story about how he got involved
with software and then with databases.

840
00:59:35,988 --> 00:59:37,848
You know, there was a lucky break there.

841
00:59:38,088 --> 00:59:40,528
There was a professor coming
up to him and saying, hey,

842
00:59:41,128 --> 00:59:45,008
you know, I think you should take
this, was it a research assistant job?

843
00:59:45,668 --> 00:59:47,568
I'll have to go back and
look it up in the transcript.

844
00:59:48,228 --> 00:59:51,188
And you're good at it, and you should do it.

845
00:59:51,228 --> 00:59:55,008
And his choice was doing that or flipping
burgers as a part-time job. And so he

846
00:59:55,888 --> 00:59:59,228
took the job with the department, and
he was still in university at the time.

847
00:59:59,268 --> 01:00:00,488
And thank goodness, right?

848
01:00:01,148 --> 01:00:03,668
That was a lucky break for him, but
it's also a lucky break for the rest

849
01:00:03,708 --> 01:00:04,008
of us.

850
01:00:04,512 --> 01:00:06,452
[MAGNUS] Oh yeah. Most certainly a
lucky break for the rest of us, yeah.

851
01:00:07,568 --> 01:00:11,428
[CLAIRE] Yeah. And what I
take away from that is that

852
01:00:12,308 --> 01:00:15,888
sometimes when opportunities come
upon you, you should say yes.

853
01:00:16,408 --> 01:00:19,328
There's always a million reasons to say no, but,

854
01:00:19,888 --> 01:00:22,888
you know, because you don't know what's
going to happen, but you should say yes.

855
01:00:24,208 --> 01:00:31,328
Okay, so one of the questions that Melanie
Plageman often asks when she thinks about the

856
01:00:31,788 --> 01:00:35,888
Postgres community and how
it's evolving and growing

857
01:00:36,528 --> 01:00:43,008
is she'll ask, What makes you keep coming back?
Obviously, there's a lot of work involved,

858
01:00:43,508 --> 01:00:51,028
right? A lot of challenges. Not everything's
easy, and you don't have to do these things.

859
01:00:51,408 --> 01:00:54,048
You don't have to serve on the
PostgreSQL Europe Foundation.

860
01:00:54,448 --> 01:01:01,328
You don't have to continue to organize Nordic
or continue to be an organizer of PGConf.EU.

861
01:01:01,588 --> 01:01:03,128
The core team you could step down on.

862
01:01:03,488 --> 01:01:07,668
You're doing all these things, the infrastructure
work, oh my goodness, what makes you keep coming

863
01:01:07,868 --> 01:01:08,208
back?

864
01:01:11,092 --> 01:01:13,032
[MAGNUS] I mean, at the biggest level, the people.

865
01:01:15,252 --> 01:01:17,332
It's really, that's the main thing.

866
01:01:17,412 --> 01:01:21,512
Again, lots of, I've made a lot of friends
over the years, but also the learning,

867
01:01:21,872 --> 01:01:23,012
there are so many

868
01:01:24,288 --> 01:01:29,108
skilled people that are getting engaged
in this project that you can still

869
01:01:29,928 --> 01:01:31,208
learn from these people every day.

870
01:01:43,268 --> 01:01:44,328
And I think the project has always
been good at being willing to share.

871
01:01:44,568 --> 01:01:47,488
Well, the project, the people of the project
have been good at being able to share,

872
01:01:48,208 --> 01:01:51,828
or willing to share their
knowledge with others in the group.

873
01:01:56,998 --> 01:01:58,718
[CLAIRE] If you were getting
started in Postgres today,

874
01:01:59,738 --> 01:02:03,258
say you're early in your career, or maybe
in the middle of your career, but looking

875
01:02:03,278 --> 01:02:07,658
to make a pivot. Would you take
the same path that you did?

876
01:02:08,898 --> 01:02:09,518
And what I'm really

877
01:02:10,378 --> 01:02:14,978
curious about, as you answer that question
of would you take the same path, is what

878
01:02:15,278 --> 01:02:18,538
do you think is easier for new people
now, and what do you think is harder?

879
01:02:21,648 --> 01:02:25,188
[MAGNUS] It's certainly, I mean, going
to that, it's certainly harder today.

880
01:02:26,328 --> 01:02:28,788
It's certainly harder today to become a
Postgres committer than it used to be.

881
01:02:30,298 --> 01:02:30,738
[CLAIRE] For sure.

882
01:02:31,628 --> 01:02:32,828
[MAGNUS] The bar is higher now,

883
01:02:34,548 --> 01:02:36,008
and that has been

884
01:02:36,908 --> 01:02:39,028
climbing for a long time, I think.

885
01:02:41,268 --> 01:02:44,568
To some extent, maybe the bar
is too high, but it's also

886
01:02:45,328 --> 01:02:50,908
Postgres has the needs, the requirements on
the system are higher today because of how it's

887
01:02:50,928 --> 01:02:55,808
being used. It is certainly not a hobby
project in any shape or form anymore.

888
01:02:57,428 --> 01:03:02,668
So the needs are higher, I feel also both
on committers and developers in general.

889
01:03:03,068 --> 01:03:04,728
Back when it started, nobody

890
01:03:05,428 --> 01:03:06,928
was working full-time on Postgres.

891
01:03:08,528 --> 01:03:13,348
Now, a lot of people are working full-time with
the development of Postgres, which sometimes can

892
01:03:14,008 --> 01:03:19,828
be a friction for other developers who
are not, right? And it's because there's

893
01:03:21,768 --> 01:03:25,608
a different paces through a
process by different people, which

894
01:03:26,568 --> 01:03:27,908
was a smaller problem then.

895
01:03:28,028 --> 01:03:31,968
It certainly existed back then too, but it
was a smaller problem then because nobody had

896
01:03:32,588 --> 01:03:35,468
the resources to do things full time.

897
01:03:35,588 --> 01:03:41,868
So I think that's certainly under the
harder slash easier division between them.

898
01:03:42,328 --> 01:03:46,988
As for the path in, I still
generally think it's a good path in.

899
01:03:47,868 --> 01:03:49,208
You know, start as a user

900
01:03:49,788 --> 01:03:53,068
and then move on towards being a
developer to a certain extent, at least,

901
01:03:53,668 --> 01:03:56,968
because you come in there
with a good understanding

902
01:03:57,768 --> 01:04:00,728
of what it's like to use your product, I think.

903
01:04:01,848 --> 01:04:05,748
If you're just like, if you've
ever your entire career has been,

904
01:04:06,428 --> 01:04:10,548
I've been a database developer. I've just
moved between different databases, for example.

905
01:04:10,628 --> 01:04:15,468
That's a different aspect. But if you've
never been a user of a database, that

906
01:04:15,508 --> 01:04:18,148
gives you a different kind of
perspective as well. So I think

907
01:04:19,188 --> 01:04:23,308
going that path is still a very valid
way, whereas some other things are just

908
01:04:24,388 --> 01:04:28,708
complex enough that you kind of have
to do them all the time to get there.

909
01:04:31,858 --> 01:04:36,458
[CLAIRE] I completely agree with the empathy
that you get if you start as a user and

910
01:04:36,518 --> 01:04:38,258
then move toward being a developer.

911
01:04:40,178 --> 01:04:44,818
What I'm curious about is there are obviously
a bazillion Postgres users out there.

912
01:04:45,238 --> 01:04:49,098
Now, some of them are app
devs who are maybe not as

913
01:04:50,718 --> 01:04:54,498
into the weeds or paying attention to the
mechanics of what's happening under the covers of

914
01:04:54,538 --> 01:04:57,838
Postgres, right? And some
are, right? It just varies.

915
01:04:59,178 --> 01:05:01,058
But in any event, there's a lot of users.

916
01:05:02,618 --> 01:05:06,458
Do you have any advice for how
they move toward being a developer?

917
01:05:07,278 --> 01:05:11,578
And I ask this because I met someone who
was an app developer at PGConf.EU, and

918
01:05:11,638 --> 01:05:13,938
he's trying to chart that path and figure out...

919
01:05:14,938 --> 01:05:18,578
You know, where do I go? What
do I look at? What do I do?

920
01:05:18,678 --> 01:05:19,738
How do I prove myself?

921
01:05:21,338 --> 01:05:24,058
And yes, he already knew about the Postgres

922
01:05:24,958 --> 01:05:31,498
hackers Discord that Robert Haas and folks
started, gosh, over two years ago now, it feels

923
01:05:31,538 --> 01:05:37,298
like. And so, and there are
monthly hacking workshops

924
01:05:37,918 --> 01:05:41,718
that exist on that Discord that get organized.

925
01:05:42,058 --> 01:05:45,738
So we knew about that, but I'm curious
what other advice you would offer somebody.

926
01:05:46,048 --> 01:05:48,628
[MAGNUS] Yeah, I was going to say I
was going to point to that, or the, not

927
01:05:48,668 --> 01:05:52,808
necessarily, I mean, sure, it happens to be
on Discord, but the important part being the

928
01:05:53,588 --> 01:06:00,248
sort of workshop and the mentorship for
new developers in there, because it's hard

929
01:06:01,708 --> 01:06:05,708
to find a way to break
through the noise, basically.

930
01:06:07,168 --> 01:06:09,528
There are so many contributions
coming in all the time, right?

931
01:06:09,588 --> 01:06:11,168
There are so many patches being sent

932
01:06:12,788 --> 01:06:17,828
that how do you get someone interested
in yours, right? Because we know

933
01:06:18,288 --> 01:06:21,748
that it's not a great thing to build
this massive patch and just send it in

934
01:06:21,788 --> 01:06:24,708
and say, hey, here you go. That never works.

935
01:06:25,008 --> 01:06:29,488
But how do you work your way
to that point? And it's really,

936
01:06:30,168 --> 01:06:32,888
I think to be successful there,
you have to catch the interest

937
01:06:33,568 --> 01:06:35,148
of a senior developer somewhere.

938
01:06:35,208 --> 01:06:38,728
It doesn't have to be a committer, but
it has to be a senior developer, and

939
01:06:39,928 --> 01:06:43,648
that's the hard part, and I think that's a—

940
01:06:43,888 --> 01:06:45,328
That's not even a tool.

941
01:06:45,548 --> 01:06:48,968
Some people will say it's because, you
know, oh, you have to know how to send

942
01:06:49,028 --> 01:06:52,848
email to do it. And I mean, yes, you do,

943
01:06:53,648 --> 01:06:54,908
but I don't think that's really the core.

944
01:06:54,968 --> 01:06:58,868
The core of the problem is just the
massive volume. There is so much.

945
01:06:58,988 --> 01:07:01,308
How do you make someone
interested in it? And these

946
01:07:02,348 --> 01:07:04,688
workshops and things, I think, are a good way, or—

947
01:07:06,868 --> 01:07:10,048
Sad to say, are they coming
to events and interacting with

948
01:07:10,948 --> 01:07:15,228
those senior developers at events,
and I say I'm sad only in the way that

949
01:07:15,828 --> 01:07:19,008
I wish that wasn't a requirement. It's
not a requirement, but I think it helps

950
01:07:20,028 --> 01:07:21,388
because then you can explain

951
01:07:22,268 --> 01:07:25,668
in person and get somebody on the inside to be

952
01:07:26,448 --> 01:07:28,148
interested in the topic that you're working on.

953
01:07:31,590 --> 01:07:36,070
[CLAIRE] I ask these questions with an agenda,
of course, which is one of the reasons that

954
01:07:36,230 --> 01:07:40,050
I produce, along with Aaron
Wislang, my co-producer, thank you,

955
01:07:40,810 --> 01:07:45,310
this podcast every month,
is I'm trying to give people

956
01:07:45,790 --> 01:07:53,170
who are tomorrow's future potential committers,
tomorrow's future major contributors, a glimpse

957
01:07:53,770 --> 01:07:59,330
backstage into how people got involved and
how they do their work and how they think

958
01:07:59,410 --> 01:08:03,850
about Postgres. So, but I'm also
interested in offering people

959
01:08:04,730 --> 01:08:07,530
just suggestions and tips
and things they should do.

960
01:08:09,010 --> 01:08:11,390
And I do think that Hackers Discord is a good

961
01:08:11,930 --> 01:08:14,690
place to start, and we'll include
a link to it in the show notes.

962
01:08:16,230 --> 01:08:20,530
The other thing that I thought was really
cool is I learned this from Tomas Vondra.

963
01:08:21,230 --> 01:08:27,710
There are a number of major contributors and
committers who have started having public office hours

964
01:08:28,470 --> 01:08:31,470
that any developer can sign up to,

965
01:08:32,230 --> 01:08:36,150
and, you know, ask questions. And for some people

966
01:08:36,930 --> 01:08:41,410
it's a little nerve-wracking to think about pushing
something out there on the mailing list, subject

967
01:08:41,450 --> 01:08:45,690
to a lot of scrutiny and a lot of
potential criticism from the get-go. And

968
01:08:46,670 --> 01:08:48,610
they like that kind of one-on-one

969
01:08:49,470 --> 01:08:54,690
opportunity to get feedback before they
push it out there to a broader audience. So

970
01:08:55,250 --> 01:08:56,170
I thought that was pretty cool.

971
01:08:56,778 --> 01:09:01,238
[MAGNUS] Yeah, I think that's a great idea
and same as these workshops, it's a chance to

972
01:09:02,478 --> 01:09:07,558
get started in a smaller group, get
a little bit more focused attention

973
01:09:11,258 --> 01:09:13,938
in between them. So yeah, I think
these are great initiatives.

974
01:09:15,098 --> 01:09:18,438
I think another thing that
is also worth mentioning in

975
01:09:20,858 --> 01:09:20,958
the

976
01:09:23,258 --> 01:09:27,278
environments of today is don't just

977
01:09:28,018 --> 01:09:30,238
have an AI agent write your patch and send it in.

978
01:09:30,958 --> 01:09:33,938
No, when people who are
reviewing the patches look at it,

979
01:09:34,938 --> 01:09:37,458
they see that's the case,
or in the first dialogue.

980
01:09:38,378 --> 01:09:40,818
They realize that's the case and
they're going to lose interest.

981
01:09:42,678 --> 01:09:46,398
You can certainly use an AI agent as a
tool as you're developing your patch,

982
01:09:47,778 --> 01:09:49,458
but you're the one who is developing the patch.

983
01:09:49,638 --> 01:09:53,238
You are the one who interacts with the
reviewers who are going to take a look

984
01:09:53,258 --> 01:09:54,438
at your patch and things like that.

985
01:09:56,218 --> 01:09:59,798
And I think you don't want to
put yourself in a position where

986
01:10:00,458 --> 01:10:03,718
the senior developers, as soon as they
see a patch come in from you, like, oh,

987
01:10:04,158 --> 01:10:06,898
yeah, I don't want to review
something that Claude wrote.

988
01:10:09,618 --> 01:10:13,258
It's a tool, but you've got to
do your part as well, and don't

989
01:10:14,358 --> 01:10:20,658
sort of lock yourself out of this very creative
and very efficient review feedback loop

990
01:10:21,678 --> 01:10:25,058
by more or less scaring off the
people from being interested.

991
01:10:27,770 --> 01:10:31,630
[CLAIRE] Yeah. Which is especially true because you
need those people in order to get anything committed.

992
01:10:31,870 --> 01:10:34,030
So you have to be earning their trust.

993
01:10:35,590 --> 01:10:39,990
I mean, it's amazing what the AI
agents can do these days if we

994
01:10:42,210 --> 01:10:45,650
could go back in time to a year ago
and then fast forward to now, we'd

995
01:10:45,690 --> 01:10:51,090
be shocked, right? They are so capable.
And yet there are still mistakes.

996
01:10:52,330 --> 01:10:55,920
If you ask the wrong question, give the right
guidance, set the wrong requirement, you're going

997
01:10:55,920 --> 01:11:00,670
to have a different result, and it's
not the result that you want. So I think

998
01:11:01,690 --> 01:11:04,470
what I try to get people to do
is, at the end of the day, you're

999
01:11:04,530 --> 01:11:08,110
still accountable for your work
product. And whether you have

1000
01:11:08,790 --> 01:11:12,710
another person you're collaborating with or an
agent you're collaborating with, you're still

1001
01:11:12,750 --> 01:11:16,030
responsible. And that's—

1002
01:11:17,670 --> 01:11:20,310
That's something that I think
people are still adjusting to.

1003
01:11:21,710 --> 01:11:23,670
You know, it's very tempting to just—

1004
01:11:22,198 --> 01:11:23,798
[MAGNUS] Yep, and I think that's, yeah.

1005
01:11:25,198 --> 01:11:27,578
I think that's exactly the
point. It's a great tool.

1006
01:11:27,998 --> 01:11:29,458
It is amazing what it can do,

1007
01:11:30,498 --> 01:11:34,658
but as with all tools, you got to use
it right. And you can't just abdicate

1008
01:11:35,478 --> 01:11:40,998
from responsibility that you are the one
who's doing this. It's a tool for you.

1009
01:11:41,078 --> 01:11:42,558
It's not an entity of its own.

1010
01:11:44,750 --> 01:11:46,349
[CLAIRE] So back to office hours for a second.

1011
01:11:46,610 --> 01:11:48,909
Do you hold them, or have you thought about it,

1012
01:11:49,390 --> 01:11:52,590
or are you still thinking
about it, or it's not for you?

1013
01:11:53,750 --> 01:11:54,370
Four choices.

1014
01:11:55,038 --> 01:11:59,398
[MAGNUS] I don't. Yeah, I don't at
this point. I think it would fit badly.

1015
01:11:59,518 --> 01:12:04,418
It would be difficult for me to
fit that into how I work, because

1016
01:12:06,158 --> 01:12:07,618
I can't really set aside

1017
01:12:08,558 --> 01:12:12,378
a specific time saying, hey, now this is
the time when I'm doing community stuff.

1018
01:12:13,138 --> 01:12:16,638
Other than I set aside the week of
PGConf.EU and a few things like that.

1019
01:12:16,698 --> 01:12:17,858
But other than that, it's more,

1020
01:12:18,678 --> 01:12:22,818
you know, oh, if a customer case comes
up, if they have to do a workshop

1021
01:12:22,838 --> 01:12:27,418
or a training with a customer or something,
it would become too unpredictable, and I'm not

1022
01:12:28,238 --> 01:12:30,038
in general, as involved in the

1023
01:12:30,518 --> 01:12:36,758
code development—anywhere near as involved in
the code development as I was some time ago,

1024
01:12:37,238 --> 01:12:44,918
I'm more involved in trying to facilitate
the code development by processes and by

1025
01:12:45,638 --> 01:12:48,118
the infrastructure being one
example and things like that. So

1026
01:12:48,918 --> 01:12:51,918
my focus has changed a bit like
that. But I'm very glad that

1027
01:12:52,578 --> 01:12:56,378
several of our senior developers are doing
it because I agree it is very useful.

1028
01:12:58,930 --> 01:13:06,050
[CLAIRE] Yeah, and unlike in a company with a
software product that maybe is more proprietary,

1029
01:13:06,830 --> 01:13:12,610
there are managers, there are recruiters, there
are people who are hiring and focused on how

1030
01:13:12,630 --> 01:13:15,810
do we grow the team and how do we
have a mixture of senior and junior

1031
01:13:15,850 --> 01:13:21,550
and who's mentoring who and, right, there's
that whole layer of trying to grow the people

1032
01:13:21,630 --> 01:13:25,290
organization. And I think the
challenge in an open source project is

1033
01:13:26,170 --> 01:13:26,790
there aren't

1034
01:13:27,450 --> 01:13:29,230
people whose exact jobs

1035
01:13:29,970 --> 01:13:33,650
exist to do the recruiting or
to do the managing, the hiring.

1036
01:13:33,910 --> 01:13:36,790
There are leaders for sure,
and you're one of them, right?

1037
01:13:38,070 --> 01:13:42,870
And, you know, the leaders, the existing
committers, you all think about who

1038
01:13:43,950 --> 01:13:46,902
to invite to become committers
in the future, right?

1039
01:13:47,162 --> 01:13:50,882
So there's a whole process that's kind
of behind the scenes for that, but—

1040
01:13:53,282 --> 01:13:55,302
It is a little different in an open source project

1041
01:13:56,702 --> 01:13:59,682
to help nurture the next generation, so.

1042
01:14:01,888 --> 01:14:02,948
[MAGNUS] Yeah, I'd say it's very different.

1043
01:14:02,102 --> 01:14:02,342
[CLAIRE] I don't know.

1044
01:14:06,468 --> 01:14:09,928
[MAGNUS] It's, but yeah, it's, as I
say, there's nobody actively, you're,

1045
01:14:10,748 --> 01:14:16,708
you've got job applicants, but you've got nobody
actually recruiting, and the decision process is

1046
01:14:17,708 --> 01:14:20,288
hard. And that can often
be, and certainly if you're

1047
01:14:21,168 --> 01:14:24,228
on the receiving side of it, but also if
you're on the delivering side, that it

1048
01:14:24,268 --> 01:14:28,688
can be frustrating and, like, why
can't someone just make a decision?

1049
01:14:29,468 --> 01:14:30,848
Why can't we just do this?

1050
01:14:35,008 --> 01:14:37,548
But in the end, it turns out often to be,

1051
01:14:38,248 --> 01:14:39,728
we often, I often hear people say,

1052
01:14:40,328 --> 01:14:42,668
why can't the core team just
go in and make this decision?

1053
01:14:43,128 --> 01:14:46,588
And everybody thinks that's a great idea
as long as the decision is the one they'd

1054
01:14:46,628 --> 01:14:47,268
like it to be.

1055
01:14:49,428 --> 01:14:52,428
But if it would be the other
way, they would instead go

1056
01:14:52,908 --> 01:14:55,188
the core team should not
make any decisions at all.

1057
01:14:59,328 --> 01:15:03,108
But the flip side of it is sometimes
we have, as a community, we have a

1058
01:15:03,168 --> 01:15:04,748
really hard time making decisions.

1059
01:15:08,262 --> 01:15:11,362
[CLAIRE] Well, I think there's
a lot of effort to align

1060
01:15:12,002 --> 01:15:16,602
people. And not to say that all decisions are
consensus, because they're not, right? Clearly.

1061
01:15:17,022 --> 01:15:21,622
And clearly, the decisions to commit or not
commit are definitely not consensus, right?

1062
01:15:24,182 --> 01:15:26,822
Yeah, there is definitely
an effort to align because,

1063
01:15:27,482 --> 01:15:29,822
you know, you piss too many people off,
you're never going to be able to get

1064
01:15:29,842 --> 01:15:30,522
anything done.

1065
01:15:31,548 --> 01:15:33,548
[MAGNUS] Yeah, no, I mean
that's it, and we have the,

1066
01:15:34,228 --> 01:15:38,228
on the committer side, yeah, it's to a point,
it's up to every individual committer to

1067
01:15:39,408 --> 01:15:43,008
make the final call. Is this something
that I want to commit? Because you

1068
01:15:43,668 --> 01:15:45,728
are then stuck with the
responsibility for this thing.

1069
01:15:47,868 --> 01:15:53,248
Right, that's the motivating factor to only
commit it if you actually believe in it.

1070
01:15:56,108 --> 01:16:00,028
But it also can mean that as
a contributor, you can end up

1071
01:16:01,768 --> 01:16:06,868
with nobody, everybody wants your
thing, but nobody wants to own it.

1072
01:16:07,388 --> 01:16:09,028
Nobody wants to take responsibility

1073
01:16:09,768 --> 01:16:10,208
for it,

1074
01:16:13,888 --> 01:16:17,188
which is tricky. Or people want your thing,
they just want it in a different way.

1075
01:16:21,482 --> 01:16:28,902
[CLAIRE] Okay, before we wrap today, I wanted
to open the door to throw out CFPs, which

1076
01:16:29,602 --> 01:16:33,282
some people say it stands for call for
papers, and that makes no sense to me

1077
01:16:33,362 --> 01:16:35,182
because we're talking about talk proposals here.

1078
01:16:35,282 --> 01:16:40,142
So as far as I'm concerned, it means
call for proposals. But anyway, Postgres

1079
01:16:40,682 --> 01:16:46,122
community conference CFPs that are
open right now that are on your radar.

1080
01:16:48,182 --> 01:16:49,822
Are there any? Because I have a list.

1081
01:16:48,348 --> 01:16:52,748
[MAGNUS] Oh, yeah, certainly. I'm not going to say

1082
01:16:53,668 --> 01:16:57,328
SCaLE because it closed yesterday, I
think, or maybe the day before yesterday.

1083
01:16:58,908 --> 01:17:02,168
I panicked on Saturday thinking
that it closed the last of October,

1084
01:17:03,488 --> 01:17:05,248
and then realizing it actually closed on Sunday.

1085
01:17:06,588 --> 01:17:09,808
Plus, I get nine extra hours
because they close on Pacific time.

1086
01:17:11,768 --> 01:17:13,308
So I got that one good. But right now,

1087
01:17:13,808 --> 01:17:15,988
open call for papers are certainly the FOSDEM

1088
01:17:18,208 --> 01:17:18,728
conference.

1089
01:17:19,802 --> 01:17:23,482
[CLAIRE] FOSDEM PGDay, the CFP
will close on December 1st,

1090
01:17:24,042 --> 01:17:28,902
and the PostgreSQL devroom at FOSDEM
closes on November 28th. Isn't that weird?

1091
01:17:29,122 --> 01:17:30,002
They're different dates.

1092
01:17:30,228 --> 01:17:33,128
[MAGNUS] Oh, see, I should know these things.
I thought they closed on the same date.

1093
01:17:33,982 --> 01:17:34,622
[CLAIRE] They don't.

1094
01:17:35,068 --> 01:17:36,448
[MAGNUS] I'm sure there is a good reason for it.

1095
01:17:37,168 --> 01:17:41,408
The interaction with the FOSDEM, like
FOSDEM, the central conference, has

1096
01:17:42,028 --> 01:17:45,388
certain requirements on the devroom,
so it's probably to align with that.

1097
01:17:46,488 --> 01:17:49,408
I know there has been a bunch
of discussion, but it could be.

1098
01:17:50,948 --> 01:17:56,628
Yeah, I thought they were
on the same day. So I guess

1099
01:17:57,188 --> 01:17:59,648
we both have to look that up after the event.

1100
01:18:00,602 --> 01:18:05,422
[CLAIRE] I looked it up before, but let's
assume that it's November 28th. Just

1101
01:18:05,942 --> 01:18:10,582
submit early, submit often. Don't cut. I
know so many people wait till the last day,

1102
01:18:11,102 --> 01:18:13,502
but that's risky, especially
if you get the time zone wrong.

1103
01:18:16,068 --> 01:18:20,908
[MAGNUS] No, you're right. I,
yeah, there it is, it is the 28th.

1104
01:18:21,148 --> 01:18:22,268
I had to look it up real quick.

1105
01:18:22,402 --> 01:18:23,182
[CLAIRE] For the devroom.

1106
01:18:23,868 --> 01:18:30,128
[MAGNUS] For the devroom, I don't remember why
they're different, but they are. So those would be

1107
01:18:31,608 --> 01:18:35,468
the big, the Canada event in
Montreal, PGConf.dev is open.

1108
01:18:38,662 --> 01:18:42,542
[CLAIRE] I have another one to
recommend, which is the Nordic PGDay CFP

1109
01:18:43,082 --> 01:18:44,402
and the deadline for that.

1110
01:18:44,468 --> 01:18:45,228
[MAGNUS] But it's not open.

1111
01:18:45,542 --> 01:18:45,762
[CLAIRE] What?

1112
01:18:48,362 --> 01:18:49,402
Are you really?

1113
01:18:50,088 --> 01:18:52,428
[MAGNUS] It opens on the 16th of November.

1114
01:18:53,688 --> 01:18:56,348
So Nordic PGDay is not actually open.

1115
01:18:57,948 --> 01:18:59,568
Otherwise it would be on my list.

1116
01:18:59,422 --> 01:19:01,402
[CLAIRE] You know what's
really funny? This shows you

1117
01:19:02,902 --> 01:19:05,842
how people scan. I went to the CFP page.

1118
01:19:06,442 --> 01:19:10,562
At the bottom of the first paragraph, it says
November 16th, and I'm like, okay, that's

1119
01:19:10,602 --> 01:19:15,502
the deadline. But no, that's the
opening date. Okay then. All right.

1120
01:19:16,588 --> 01:19:21,228
[MAGNUS] PostgreSQL Europe right now
only has FOSDEM PGDay open right now.

1121
01:19:22,228 --> 01:19:26,308
We will hopefully open, I mean, with
Nordic opening pretty soon, I would expect

1122
01:19:27,588 --> 01:19:32,848
the German conference, it's typically around May,
also to open their call for papers fairly soon.

1123
01:19:33,548 --> 01:19:35,368
I don't know if we have a date for it yet.

1124
01:19:37,988 --> 01:19:40,228
So, but right now everyone can focus on FOSDEM,

1125
01:19:42,128 --> 01:19:42,848
and PGConf.dev.

1126
01:19:43,722 --> 01:19:51,502
[CLAIRE] I was going to say, PGConf.dev,
its CFP close date is January 12th. And then

1127
01:19:52,162 --> 01:19:56,302
very soon, in the next couple of
weeks, POSETTE: An Event for Postgres,

1128
01:19:56,862 --> 01:20:00,562
which is the event that my team
organizes, is virtual. It's free.

1129
01:20:00,722 --> 01:20:02,822
It's happening at the end of March in 2027.

1130
01:20:03,142 --> 01:20:07,342
The CFP is going to be opening soon,
and it will close on January 3rd.

1131
01:20:07,582 --> 01:20:11,382
So it's going to be a short CFP period this time.

1132
01:20:13,838 --> 01:20:17,858
[MAGNUS] Always an interesting discussion.
Does it make sense to have long CFP times?

1133
01:20:19,138 --> 01:20:21,098
Because everyone submits the last day anyway.

1134
01:20:19,702 --> 01:20:20,242
[CLAIRE] Well, does it?

1135
01:20:23,398 --> 01:20:24,718
[MAGNUS] I mean, it's, I
think it's a fair discussion.

1136
01:20:24,758 --> 01:20:26,178
You've got to find a balance between them.

1137
01:20:26,638 --> 01:20:30,858
There's no point in having
a 6 month long open CFP,

1138
01:20:31,678 --> 01:20:34,218
I think, personally, but it
has to be long enough that

1139
01:20:35,298 --> 01:20:38,318
people can start thinking when it
opens and then panic at the end.

1140
01:20:40,202 --> 01:20:43,822
[CLAIRE] Also, I think it has to be long
enough that you can try to reach people

1141
01:20:43,862 --> 01:20:49,142
who are not the usual suspects, who maybe
have never submitted before or haven't been to

1142
01:20:49,182 --> 01:20:52,442
that conference before or
didn't even know it existed.

1143
01:20:52,882 --> 01:20:57,582
And, you know, it takes some time to
get out of the normal channels and reach

1144
01:20:57,642 --> 01:21:00,902
those people. But that's hard. It's hard to do.

1145
01:21:01,442 --> 01:21:05,262
And sometimes even giving yourself more time
doesn't mean you're going to achieve that.

1146
01:21:06,098 --> 01:21:10,018
[MAGNUS] I mean, it only gives you a chance
to achieve it if you give yourself more

1147
01:21:10,058 --> 01:21:11,418
time and you actually start.

1148
01:21:11,582 --> 01:21:13,002
[CLAIRE] Exactly. You do the work.

1149
01:21:13,238 --> 01:21:16,558
[MAGNUS] Giving yourself more time
and not starting, which unfortunately

1150
01:21:17,158 --> 01:21:20,258
ends up far too often being
the case, doesn't really help.

1151
01:21:20,298 --> 01:21:21,738
So there is a balance between them.

1152
01:21:21,798 --> 01:21:24,478
Obviously, you should not just
have the CFP open for a week.

1153
01:21:25,798 --> 01:21:29,998
Then some people may be on vacation and
never see it, right? But six months,

1154
01:21:30,658 --> 01:21:33,738
I think, is way too much, and then
you just got to find your balance in

1155
01:21:33,758 --> 01:21:34,178
between them.

1156
01:21:36,902 --> 01:21:37,242
[CLAIRE] All right.

1157
01:21:37,662 --> 01:21:43,002
Well, you were actually a speaker, a keynote
speaker at the very first POSETTE: An Event

1158
01:21:43,042 --> 01:21:48,262
for Postgres, back when it was—so this
is going to be the sixth one in 2027—and

1159
01:21:48,322 --> 01:21:51,362
that was back when we called it
Citus Con: An Event for Postgres.

1160
01:21:51,762 --> 01:21:54,222
We since changed the name,
but I thank you for that.

1161
01:21:55,122 --> 01:21:58,102
It really, especially the
first year of an event, the

1162
01:21:58,562 --> 01:22:03,722
keynote speakers bring, I think,
a lot of prestige and gravitas

1163
01:22:04,702 --> 01:22:08,042
and attention to an event, and I
really, really appreciated your support.

1164
01:22:08,082 --> 01:22:10,342
And you gave a really good talk,
so I will link to it in the show

1165
01:22:10,382 --> 01:22:10,642
notes.

1166
01:22:11,598 --> 01:22:11,958
[MAGNUS] Thank you.

1167
01:22:12,922 --> 01:22:19,402
[CLAIRE] Yeah. All right. Well, I think
we're at a wrap. We covered a lot of ground.

1168
01:22:20,442 --> 01:22:21,962
I hope we didn't miss anything.

1169
01:22:22,042 --> 01:22:25,162
Do you feel like we answered the
question, how you got started in Postgres?

1170
01:22:26,678 --> 01:22:27,998
[MAGNUS] I think we did a pretty good job of that.

1171
01:22:29,122 --> 01:22:32,082
[CLAIRE] I think we did too.
It's fun having you on the show.

1172
01:22:33,002 --> 01:22:38,262
I look forward to the next time
I see you in person as well, and—

1173
01:22:39,458 --> 01:22:40,218
[MAGNUS] Which will be

1174
01:22:41,018 --> 01:22:41,638
FOSDEM, right?

1175
01:22:42,642 --> 01:22:48,462
[CLAIRE] I hope so. I hope to come to
FOSDEM. Although it is slushy and cold

1176
01:22:48,942 --> 01:22:54,442
and sometimes rainy, and I have to pull out
the waterproof boots and the warm jackets.

1177
01:22:55,442 --> 01:22:59,342
But it's so many smart people from all
over the world in one place. I mean,

1178
01:23:00,642 --> 01:23:04,202
when you think of FOSDEM as a whole,
not just the PGDay and not just the

1179
01:23:04,242 --> 01:23:05,262
PostgreSQL devroom, it's like

1180
01:23:05,942 --> 01:23:07,182
8,000 developers, right?

1181
01:23:08,862 --> 01:23:09,302
It's big.

1182
01:23:09,938 --> 01:23:10,678
[MAGNUS] Yeah, it's huge.

1183
01:23:11,862 --> 01:23:16,202
[CLAIRE] And if anyone's never been and they
hear about it in this podcast and they decide

1184
01:23:16,242 --> 01:23:19,402
to go one of the tricky parts that people

1185
01:23:20,042 --> 01:23:21,962
run into is they feel like they have to register.

1186
01:23:22,362 --> 01:23:28,102
But there's no registration at FOSDEM,
right? It's a free and open source developer

1187
01:23:28,642 --> 01:23:34,442
something-something conference. Actually, the acronym
FOSDEM is what inspired the acronym of POSETTE

1188
01:23:35,222 --> 01:23:38,862
because I felt like, oh, people don't
even know what FOSDEM stands for.

1189
01:23:39,282 --> 01:23:42,522
And so POSETTE, they don't even need
to know what it stands for, right?

1190
01:23:42,602 --> 01:23:46,262
As long as it rolls off the tongue
and has a meaning behind it that you

1191
01:23:46,302 --> 01:23:47,342
could explain if asked.

1192
01:23:48,282 --> 01:23:51,402
Anyway, but you don't need to register, and

1193
01:23:51,922 --> 01:23:55,802
you do need to have a plan because
there are so many devrooms and so many

1194
01:23:56,342 --> 01:23:58,502
places you could be in different buildings.

1195
01:23:58,662 --> 01:24:01,442
You need to know what you're trying
to accomplish before you get there.

1196
01:24:01,862 --> 01:24:03,702
Otherwise, you just—it's easy to get lost.

1197
01:24:04,979 --> 01:24:07,998
[MAGNUS] Yep, I agree. And it's
important to know this goes for the

1198
01:24:08,538 --> 01:24:13,777
FOSDEM event that's on Saturday and
Sunday. The FOSDEM PGDay that is

1199
01:24:14,738 --> 01:24:19,538
misnamed because it's now two days, Thursday
and Friday, does require a registration.

1200
01:24:19,942 --> 01:24:22,922
[CLAIRE] And that's on Thursday and Friday,
and this is the first time it's going to be

1201
01:24:22,962 --> 01:24:26,482
two days. So presumably more talks.

1202
01:24:27,102 --> 01:24:30,722
Are you going to have more tracks or
just more talks because of the two days?

1203
01:24:32,498 --> 01:24:36,738
[MAGNUS] It's more talks. We went
from one to two tracks recently.

1204
01:24:38,158 --> 01:24:40,738
I don't remember if it was last
year or two years ago. So we'll

1205
01:24:41,578 --> 01:24:44,078
keep the number of tracks, but
increase the number of days.

1206
01:24:46,222 --> 01:24:51,602
[CLAIRE] Well, and I'm looking forward to it.
And again, thank you for coming on the podcast.

1207
01:24:51,822 --> 01:24:53,602
Really appreciate it. Thank you for your time.

1208
01:24:55,798 --> 01:24:56,478
[MAGNUS] Thank you for having me.

1209
01:24:57,386 --> 01:24:59,782
[CLAIRE] A big thanks to
Magnus Hagander for joining us.

1210
01:24:59,942 --> 01:25:04,102
And for those of you who liked today's
episode and you want to hear more of

1211
01:25:04,142 --> 01:25:09,902
these Talking Postgres shows, you should subscribe
on Apple, Spotify, YouTube, or wherever you get

1212
01:25:09,942 --> 01:25:13,422
your podcasts. And please
tell your friends, because

1213
01:25:13,982 --> 01:25:17,562
word of mouth and recommendations
are gold in the podcast world.

1214
01:25:18,262 --> 01:25:23,042
You can always get to past episodes and links
to subscribe on the different platforms by

1215
01:25:23,082 --> 01:25:28,422
going to TalkingPostgres.com, and you'll find
transcripts included on the episode pages on

1216
01:25:28,462 --> 01:25:30,062
TalkingPostgres.com too.

1217
01:25:30,642 --> 01:25:35,462
And a big thank you to everybody who joined
today's live recording and participated in the

1218
01:25:35,522 --> 01:25:37,062
live text chat on Discord.