Postgres FM

Nikolay and Michael discuss self-managing Postgres — both the practicalities of doing so, as well as some managed-service style tooling. 
 
Here are some links to some things they mentioned:

~~~

What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!

~~~

Postgres FM is brought to you by:
With special thanks to:

Creators & Guests

Host
Michael Christofides
Founder of pgMustard
Host
Nikolay Samokhvalov
Founder of Postgres AI

What is Postgres FM?

A weekly podcast about all things PostgreSQL

[00:00:00] Michael: Hello and welcome to Postgres fm weekly show about all things PostgreSQL. I am Michael, founder of PG Master. This is my co-host Nikolay, founder of Postgres ai. Hey Nikolay, what are we talking about today?

[00:00:10] Nikolay: Hi, Michael. Your turn.

[00:00:12] Michael: So you chose this topic. we are gonna go deeper into self-hosting Postgres and some,

[00:00:19] Nikolay: posts, right? We had an episode, uh, number two, last more than one year ago, and we just, we compared, managed versus self-managed. Right? Self-managed. Self-hosted. Is it the same or no?

[00:00:32] Michael: whoa, good question. What are we including? I.

[00:00:35] Nikolay: is difference. You know, there is difference, which probably right now is not visible. Yet, but it might be, but might, might become more visible over times in the future. What I mean, in the past we had, the model before clouds. We had the model when, for example, Oracles were, was selling for different, like Microsoft was selling databases as like kind of box, right?

You, you have software, you pay for the license, but you then you need to install it yourself probably, right? And so on you, it's like, Self-hosted, self-managed, but then cloud model showed that there is new way . You don't manage it, you have only SQL connection. You cannot even run top , you don't host, you don't manage.

But what if we think you can host yourself, but allow others, I mean the vendor for example, manage it remotely. I think it's possible. And. I think may several companies already experimenting with this approach, so I would distinguish self-hosted and self-managed. But today I think we can discuss mostly the case when they, when we have self-hosted and self-managed, so we can, we want to install purely open solution to our servers on premise or in cloud, and then deal with all the troubles,

[00:01:59] Michael: Yeah, great point. I think self-managed is prob is a better definition then because we don't care if it's on the cloud still do we? It's, it's the fact that we're having to manage it ourselves. That's important to this.

[00:02:09] Nikolay: Right, right. So where to start and let's, let's, uh, warn our audience that we will have two sides of discussion, technical and less technical. Non-technical and technical will be, let's discuss. what kind of tasks do you need to solve and which tool probably you need to use and challenges technical challenges.

And second is less technical about probably where the market is moving and, , why we don't have what I described. Uh, like self-hosted, but but managed by some other companies so you can offload this responsibility to, to some experts and don't grow in-house expertise. Right. And probably the second discussion, we can just touch it because it's a bigger topic and let's focus more on technical side, but definitely let's touch the second side as well.

[00:03:05] Michael: Yeah, absolutely. Great. So should we start with the more technical, like what the kinds of things that, if you're choosing to manage it yourself, the kind of things you have to think about.

[00:03:15] Nikolay: Yeah, , let's consider what is Postgres? SGAs is, uh, quite good. Postgres is a very bad database system. Very bad database system, but the others are just worse war, you know,

[00:03:31] Michael: haven't heard that before.

[00:03:33] Nikolay: well, it's from England. This, this Churchill saying. About democracy, so I just rephrased it. Right. actually, I, I, I see so many bad things about so many that I can claim this and prove it, but other database systems definitely worse. But the thing, what I'm trying to say right now, posts is not a product, it's just one of the. Pieces you need. It's a core, it's like engine of your car, right? But you need also wheels. You need the trunk and seats, belts, and so on.

[00:04:09] Michael: I think the, the core idea is really important. I think a lot of comparisons I've seen are to like the Linux kernel. but I also think of it a bit of as like a platform. you can use it on its own, but it's much better if you've added things to it.

so I, I

[00:04:23] Nikolay: can, uh, you cannot use it on your own. You cannot use it on your own. I mean, it's, it's nonsense. Uh, it's like, You, you don't, you don't put data to files, right? And deal with synchronization. You, you want SQL somehow you, you know, you want S C I D, but, uh, it's obvious you want auto file over. You want backups, backup, verification, uh, pulling because post selects all of them, right?

[00:04:50] Michael: yeah. It lacks some of them and some of them it's it. There were better tools available. I agree. So back that actually backups is a great place to start. 'cause that feels like something everybody's gonna want.

[00:05:01] Nikolay: exactly. Backup says probably should be like number zero always. And I had a discussion a couple of days ago with my. Old friend who was self-managed, but recently they moved to r d s. They don't like some things and they also of course don't like price because it doubles the, roughly doubles the costs, , compared to also a w s, but self-hosted,

[00:05:26] Michael: Mm-hmm.

[00:05:27] Nikolay: they elect some, like some things like, uh, I don't know, like, doesn't matter.

But, , I asked him. What is number one reason why they moved on on r d s And he said, , constant fear of, , having issues with backups is number one reason. So backups you are right, should be number one. And, but not only we, we know, unverified backup. There, there are two mantras there, there are two mantras around backups.

Dump is not backup. First mantra and second, amplified. BA backup is not a backup. It's ainger backup. So you need to verify your backups. You need to test them always, and moving to r d s gives you some confidence that backups are fine. You don't see verification, signals that back. Do you see backups are created good.

You, you know, point in time recovery is implemented there and you, you can use it. You don't see verification, tests, like results of the tests of those backups. You don't see, you don't have the list of, okay, this backup is verified, but at, on, on, at the same time. You know that, you can trust r d s backups because you know, r d s is very popular. People are not complaining. So it feel, it feels like you can trust backups r d s has. Right? But if you're self-hosted, you need to use some tool. To have full fledged physical backups, uh, with point in time recovery to minimize R P O R T O. We, I, I'm not going to, to clarify R P O R T O here because we had an episode about it as well, and you need to test them and testing is super important that it requires effort because, because for example, for Wal, I don't know if testing capabilities exist out of the box for cra probably.

They exist, and the fact that we have multiple backup solutions for Postgres means that Postgres selects something. What? What does Postgres lack? Postgres is not a product. It's just an engine. It's not a product. You need to productize it yourself if you need , to self-manage, and the more databases you are going to have, Our last episode about sharding and also microservices approach.

if you, need just a few databases, probably you can be okay and do some manual stuff, but if you are going to have hundreds of databases, you need the very good automation.

[00:08:00] Michael: Yep.

[00:08:01] Nikolay: this is what I mean, productize. You need, uh, some scripts, buttons, A p i c i two. To make Postgres, to play well together with LG or PG B Crest or something else.

Or maybe you can live without William, but it's harder because they provide some functionality. Postgres doesn't have,

[00:08:18] Michael: I think, I think the key thing you said was point, if you want point in time recovery, which most people do

[00:08:23] Nikolay: I like, do, do you want transactions?

Some people can say we can live without transactions. Okay? You can live without point recovery until you have some issue, and then you are very like sad because you don't, you didn't think about in advance. Of course, , everyone needs point recovery.

[00:08:41] Michael: But I think that's why I think it's worth explaining us, that's why you're saying Postgres doesn't include backups, because it doesn't include a point in time recovery solution.

[00:08:49] Nikolay: No, no, no, no, no. It includes point and recovery, but you can think about it like posts has like a p i for it.

[00:08:56] Michael: Uh, like the PG based backup, you mean

[00:08:58] Nikolay: yeah, it has recovery target. It has some configuration, it has some handles, but you need, something that will use it.

[00:09:08] Michael: Like an interface?

[00:09:09] Nikolay: Right. Of course we know Postgres doesn't have ui, right?

So I'm not talking about UI here, but of course it would be good to have UI like you open and see backups. You can navigate them, you can search, you can understand which backups fail. Probably like you, you receive Also, you have monitoring, you have alerts. This is needed actually, and Postgres doesn't have it.

Itself, it has only, it exposes some api, so, so to speak, right? But some additional tool needs to automate it. And this is exactly what world G by the way, world G also don't have, alerts and, and monitoring and UI and so on. And it has quite interesting, C L I, which probably is not excellent.

And sometimes you need to do the math. Yourself, , taking 2 cent and understanding how much, for example, barman would say, okay, yesterday we generated two terabytes of wool. Olge doesn't say it. You need to to take 2 cent and go do the math. Okay. So I mean, it takes some features here, right? But, , at least it implements, uh, this automation for backups and handles all things.

So you can just, , work in c l i of, you probably want UI for it, and you probably, you definitely want, uh, monitoring s

[00:10:27] Michael: And, and I think you mentioned something right at the beginning that doesn't always get mentioned, which is, so you need to set up backups, but you also need to set up testing. So restoring and doing some checks to make sure your data is, is there and not corrupt and working as expected.

[00:10:44] Nikolay: Yes. And I know Wal, uh, pge Brest has, uh, better, has something for testing. Olge doesn't have, like special command to test, and also PGE Brest has, , checked some verification for backups. Great, so. You probably need to take care of it yourself to have some periodical jobs. If you're in cloud, it's easier.

You can start some machine and, , temporarily, maybe even a sport instance of understanding that you can lose it just for, budget saving and you can restore there and then, report and get rid of it. By the way, reporting here is very interesting because , sometimes. Restoration takes longer. So reporting and for example, if it fails, it won't report.

So we need additional system which will report if backup is not created by, by some time of a day, which which we know it should be already created by.

[00:11:43] Michael: Like a, have you heard the phrase dead man switch? That kind of thing.

[00:11:46] Nikolay: Yes. And this is us exactly this name.com, right? So you can use that as external tool, which, uh, will tell you that backup didn't come on schedule. And you can also additionally add some, uh, corruption checks there and so on. So it's, it's not a trivial thing. And, uh, If you want product, this is exactly what r d s provides you, right?

Or other managed services, but they hide the testing jobs, probably the, well, I think they don't test each backup of course, because it's too expensive. , but they should test it occasionally, some of them, and have some coverage to understand if everything works well or not, after they change some, things in backup pipelines.

So it's not simple topic at all. And it touches also monitoring and alerting, which is like global thing for all things. You will need it. And there is no, we know. I like to say there is no ideal monitoring yet for positives. Doesn't exist unfortunately. Especially if you consider only open source.

You will deal with a lot of things missing in standard Postgres exporter for, for Prometheus. And then visualization is sucks always. I mean, dashboards in open source tools, I don't see any very good solution and so on.

[00:13:05] Michael: Well, and, and you mentioned an important thing, even in the, the, the open source ones, the alerting is never included, right? Like that's, that's sometimes really important, like, Imagine what a, a common failure case is running out of disc space. You need an alert on that. Like you

[00:13:21] Nikolay: course, simple alert.

[00:13:24] Michael: Yeah, so great point. I'm scared of time

[00:13:28] Nikolay: already, we already discussed at least half of year of hard work for a couple of people if they want to be prepared to run hundreds of notes. But like, I, I'm afraid if we continue, someone will say, oh, it's so hard. Okay, convinced I'm going to buy r d s. But this is not the goal I I, I wanted to pursue at all.

So, so I, I, I'm a big fan of self-hosted,

[00:13:55] Michael: Mm-hmm. But you can, you can start with simple versions of these, right? Set up simple testing, setup, simple monitoring, uh, sorry, backup testing setup, simple monitoring,

[00:14:05] Nikolay: yeah. simplest monitoring is probably just net data. It's like one line and you have already something quite well covered and it's, Postgres plugin is being developed quite well. I see. It's not perfect. It, it likes a lot of stuff, but it's already something. And it can provide you system level, like hosts monitoring and Postgres plugin. Like it's a very good thing. B p f it has as well, like something if we continue, we will need like an hour

to,

to list all things we need. Like let's probably walk very fast. other must have components if, if you want to self-managed backups, auto failover, of course. Right. We had, we, we discussed many times like just use patron. That's it.

Uh,

[00:14:51] Michael: other options are available, but that's the, tried and trusted one, isn't it?

[00:14:55] Nikolay: yeah. What else?

[00:14:57] Michael: You've mentioned major upgrades already. I think there's a couple of settings that are really important when you're first setting up. We did a whole episode on configuration, but there's a couple that require restarts.

that it'd be quite helpful to have on from the start. so yeah, making sure you've checked your confi because you're not getting that set up for you and they're quite conservative by default, or a couple of settings aren't very sensible by default for most setups. check sums you talked about enabling those, like things like that.

[00:15:24] Nikolay: Am check automation. Actually, amm check automation is very important. I recently saw, um, that one, hosting provider which provides managed positives. It's not the biggest one, somewhere in Europe. they use salon operator and, we have a client who uses them

and these hosting providers somehow screwed up, some migrations or upgrades.

So, thanks to Postgres 15, uh, warnings about collation changes, it was detected that many indexes, bitter indexes got corruption. And, , you need am check and you need to automate AM check, uh, with hip all indexed to because we, I, I recently told you I discovered AM check also is able to check hip, so you can check both B three indexes and hip.

This is great so corruption checks should be automated and just should be a button. I want to check and see if I have some issues right.

[00:16:24] Michael: Yeah, in the spirit of running through a few more quickly, extensions, so like pgs stat statements won't be on by default. it, so things like that, that, would require restart are worth checking if you've got them on from the start. Uh, and that will help on the monitoring front of course.

And the big one that gets brought up a lot as well is a connection puller. If you're gonna, if you're anticipating you're gonna have it or gonna need a

few hundred connections,

[00:16:51] Nikolay: and we're going to have connection pool war in, in, or at least battles, in the upcoming years because, several teams develop alternative solutions and it, it's becoming more interesting. So yeah, connection pool is, I think also should be included.

I agree.

[00:17:08] Michael: miss?

[00:17:10] Nikolay: Well, you missed a lot of things.

For example, index automation of. Getting rid of blood, blood control, some health check, uh, tooling, like to, to see do we have a used indexes, index maintenance. We had an episode about it. It, it, it's great to have some automation and tooling for it, and it's, when I say it's great, it means, uh, 99% of people will need it eventually, especially

[00:17:37] Michael: not just self-hosted. Not just

[00:17:40] Nikolay: of course, yes. And

[00:17:41] Michael: you need this everywhere. Yeah,

[00:17:43] Nikolay: Yeah, and I don't know any good provider, which has it already,

[00:17:46] Michael: not yet. No.

[00:17:47] Nikolay: right? You probably need something to help your developers with. If you have developers, backend engineers with, Q pattern in database. Prob like for example, you could install P G Q, but it feels old and outdated.

There are other solutions which you probably would like to, to use, and probably it's another component. If it has some additional pieces you need to install, right?

You probably

[00:18:14] Michael: out recently, didn't it?

[00:18:15] Nikolay: right, you need, you probably need P Vector or pg embedding as well extension, which is, which is super popular.

Well, it's not a joke. A lot of companies right now try to adapt l l M into their. Technological stack. So if you are Postgres user, why not? And PJ Vector is, uh, is receiving this, uh, H N Ss W uh, new algorithm or new type of

index

[00:18:40] Michael: Yep.

[00:18:41] Nikolay: which is better for high dimensional vectors. And, PJ Bedding has from beginning. So, there are many things we can talk about. Local analysis, very important can be considered as a part of monitoring, but not only.

[00:18:57] Michael: 'cause many things that are quite important aren't logged by default. So yeah, setting's very conservative there as well.

[00:19:04] Nikolay: But, what if not only, you don't want to develop everything, but you also don't want to play a Lego game. What are the options? I see two big options here. One is, uh, become the fan of Kubernetes and start using one of numerous operators. And, it's great that to have alternatives already.

It's land operator, uh, crunchy operator and uh, star. Which, uh, sags feels more like product, more, pieces like, bundled together and so on. They don't provide SaaS, so they don't care about SaaS right now. Uh, while, and actually Soland also doesn't care about SA and, but they develop for their, their internal needs while crunchy has bridge.

So interesting. to think about, how complete is solution is and, , licensing also, right? So , it's an interesting area,

[00:19:59] Michael: I think there's a, I think you're missing something. I think there is like a quite an interesting trade off here because some of the reasons you might have wanted to self-manage in the first place. You might lose if you go down one of those routes. An example you brought up that I thought was.

Yeah. Let's say you go, let's say you pick stare, or you want, let's say you're considering stare, but you want timescales. Timescale, licensed features. I don't think you can have that right now. Like whereas if you self, I think they only support the Apache Ver Apache two version.

[00:20:30] Nikolay: I'm not sure. You should check. Probably have. Okay. Okay.

[00:20:35] Michael: But what I mean is if you are self-managed, you can install that. So like if you want full control of the extensions you installed, and you don't want the operators to control that. There's an interesting trade off there.

[00:20:46] Nikolay: I think you can have if, if you can have it at all, you can have it in status as well.

[00:20:53] Michael: I thought you said they controlled which extensions you can even install.

[00:20:57] Nikolay: Ah, yeah, you're right. And this, this, I don't like, by the way, it should be fully open, but it's hard to implement and so on. Yeah, yeah, yeah. So I agree. Postgres is. Philosophy is extensibility, openness, open source, everything. And you not only you should be able to install any extension, including that extension you developed yesterday yourself.

Right. Why not?

[00:21:21] Michael: So, I mean, you're bringing up the philosophical question

I'm talking about in practice.

[00:21:26] Nikolay: In practice if, I want p g embedding, but it's not yet available. Staggers has hundreds of extensions supported. It's great, but I think it should be changed somehow to be fully open. And I discussed it with them, but, Somehow we have slightly different use here.

So my idea, it should be fully open, fully open a anywhere if it, if it's purely like Postgres style product, but also you should be able to compile Postgres if needed. Why not? Uh, sometimes I want to change some constant in the source code and recompile or add some like things to what I want to have, but it's very good question. Is it possible inta? Probably it's not yet possible. I know they think about it. I'm not sure about other postgre separators. Is it possible to use a different sss image to change it? I, I think it should be possible. You should. Change source code and start using it. This will mean it's true post this product.

[00:22:26] Michael: Well, but this is kind of what I meant, that some of the reasons people might be self-managing in the first place might prevent them using one of these, if there's a limitation currently. so it's a, I think it's a really interesting point that we kind of, you kind of move towards. No longer being self-managed at that point. If they're managing a lot of those things for you, if they've got a lot of those automation things in place, maybe you get a lot of those benefits again, but I'm just asking if there are, if there are downsides too.

[00:22:54] Nikolay: Right. And I think there should be some route where I can use, , defaults, which are very well tested and prepared by vendor of this product, developer of this product. Probably I, I will be. Paying for support of this if I want to offload some work. Right. But if I need to deviate, , and I have engineers who can recompile Postgres, for example, if it's very needed.

Right. Or switch to version, which is like, I don't know, like 16 better three, which is out, out a few days ago, but they don't have it yet. It should be possible for purely open source product, to switch to it, there should be some way to install an extension and decomp, compile, switch the new version.

It should be possible. In this case, it's great and it's, it's fully open approach. But what if I don't want Kubernetes as well? I know like it's easy to get Kubernetes from cloud, but what if I want to run everything on my servers and managing Kubernetes? It's, it's a very big task as well. So in

[00:23:59] Michael: If you're not already, yeah.

[00:24:01] Nikolay: In this case, I think we also have some new trends, which probably, , will give my idea development. so my idea again, like, to have,, managed services, managed Postgres providers, they showed how a good product can be built, on top of Postgres.

They did it great, but they are not open. They are proprietary.

For example, as I tweeted a few days ago, show me the source code defining R D Ss super user. I. We don't know how it is defined, but being able to check source code is essential for me as a, a specialist or as eng engineer because sometimes the, I like things in documentation. I don't want to go to provider and play, , the game like if a good support engineer, uh, who knows things or know I spend days, uh, trying to reach, expertise, I would just look at source code and understand how it works, give it to me. But they don't open it. It's, it's proprietary software. So, and many, many managed service providers do do the same. Some of them already use, , publicly available, open, uh, operators for Kubernetes.

Good. But. In this case, at least I know where to look at, for example, the same guys where we talked about corruption. I said it's probably related to operational systems switch. And I, I immediately had idea like what's happening there. I immediately found a pull request in, uh, Spilo, which is, uh, used by land operators. Pilo is a container image which includes Postgres, all major versions for major upgrades and so on. And I, I found they, they recently switched to one Ubuntu, to different Ubuntu, which is probably the reason of corruption. Right? And they have some flag to bring, like Hales from old Ubuntu, some hack.

Interesting hack. And actually Kush can mentioned that in private discussions. That's why I actually knew where to look at. But interesting that this flag is disabled by default, and I guess that provider forgot to enable it.

[00:26:06] Michael: Mm.

[00:26:08] Nikolay: don't have a corruption control. As I mentioned, everyone should have it for, for beat trees and, uh, they had corrupted indexes.

So, and I just immediately sent this line of code I. To my client saying, go to your provider and just show them this line and this pull request, and that's it. This is the power of open source. You just read the code, understand what's happening under the hood, and if you use managed service provider, you don't have it.

So self-managed consisting of purely open source competencies has this power. Full transparency, what's happening inside it. If you have engineering skills, you can tweak it and fix it and contribute back actually, and so on. So question is, can we have some level of, convenience as r d s provides, but fully on open source components.

But, and also without Kubernetes? I, I, I mean, Kubernetes is great if you can, if you already have it, it makes sense to continue extend to databases. But if you. Either move away from Kubernetes. I already know some teams who move away from Kubernetes or you just want to avoid it. Do you have anything, which would provide same level of convenience and I know two, two pro three products already.

Maybe three. I dunno. First is, Vitali who works with me has pro cluster, open source product m i t license. It's, uh, just Ansible. , playbooks which easily install res PG or world g p bouncer monitoring like net data or PG watch two, and hotels. Timescale is just a flag, right? And many, many other things.

And it's just a snippet which installs on any server. Patroni, of course, Patroni I mentioned, right? So it'll, it'll install it, uh, to multiple nodes. And you have cluster, uh, with ha characteristics with backups. I think it likes backup verification. This is like, it should be solved, but it's solvable. And this already, uh, is an alternative to r d s without Kubernetes, which very good thing, right?

So I would like to explore if this project can be, Improved and be used like by more people who this, this interesting project. I think, and I, I don't like Ansible output because you either have, , very verbose. So it's very outdated. Ansible, c l i feels very outdated. It's either very verbose or it, it provides you some steps and you don't know what's happening right now, no progress, , indication and so on.

But I think it's also solvable. So I think it is a very interesting projects for those who won't self-hosted to have everything, , bundled. Like one product.

, and without Kubernetes, it's, but I think it's also not product again, because it lacks some things like this backup verification. It likes ui, for example.

but it's possible. It's already saves a lot of effort if you want to go self-hosted without

[00:29:12] Michael: If you mentioned you knew a few products, what were the other two?

[00:29:17] Nikolay: I just discovered super base, went to Monorepo approach and they have everything under Apache 2.0, meaning that they have, control plane, they call it dashboard, right? Or. I don't remember. Right. So control plane, you have ui, you have automation.

You can install it yourself and have super base. Super base is also a bundle. It's a product. They also play this. Productized game. They play a Lego game for you. So you have all components of your car, not only engine. So it's cuss, it's uh, what else? Like they have pooler, definitely they have their own pooler.

They have additional components which, uh, are more oriented for backend and frontend engineers. It's, uh, a p I. Using pg b Crest, oh sorry, Postgres. Rest there and here. But pg b crest, rest means restore. Here, it means, uh, rest, a p i. So pg b crest. Also additional components, uh, real time to, to make it feel like fire base.

So a change happens in database. You can easily propagate it to application and, , authentication and so on, so you can use them. Your own self-hosted and this is a well tested solution as well. At the same time I discovered a few months ago, they don't have a chase or they don't, they didn't have standbys. I think they should already solve it by now. I, I'm not sure.

[00:30:45] Michael: Did you mention there might be a third? There was a third one.

[00:30:48] Nikolay: Third one is probably new player, which called, was called Core db. And I know, I know they want tempo. They're named, I know they want to open source everything, so I would keep

[00:31:00] Michael: they don't have much yet. Right? They don't have anything we

[00:31:02] Nikolay: right. But I will keep an eye on this co company as well, but probably they will release some good. A solution which you can use, uh, on your machines, even if it's not cloud.

[00:31:13] Michael: How do you know they won't go with Kubernetes or Kubernetes?

[00:31:17] Nikolay: oh, I don't know. Actually. Maybe it's Kubernetes, but maybe not actually. Good question. I don't know. I just, talking to them, I just know they, they share this philosophy that, open source should have some new cycle of development because we see many companies who already became quite popular. They. Move away from open source, sadly, and HashiCorp is just new example here.

Before that, we had database companies like MongoDB and Elastic. They moved away like, it's like cloud wars and so on. But I think, this open, , opportunities for open source. To have better, product level, not just features, but like to feel like a product. Because some open source projects, they have this feeling, you have ui, you have just magic button that handles everything and it's well maintained.

So it happens. For example, Ubuntu, right? So we have Linux, good open source project. But Ubuntu is also open source, and it took a lot of time to achieve some level where usability is good, but it's already happening. . Ubuntu is already not bad, right?

[00:32:28] Michael: Yeah, it's gonna be interesting, right? Like the thing that seems to be driving it is business models and historically the business model that worked around open source, well the two big ones were support based. So you could make your business offering support for the system or, companies that it's not their main differentiator collaborated on building a system.

So I think those two combined to make Postgres work, right? So companies that need, that wanted this and need and this working together and separately support companies, built around supporting systems. So

[00:33:00] Nikolay: That's super interesting question. I agree. I agree. And I'm super curious how super base, uh, investors feeling because, uh, because they open everything. They, of course are champions in, growing attention of, uh, like, okay, meme style marketing. They, they're champions here.

So, People go to their Twitter and, uh, listen to them a lot, it's great. So probably they just, are okay to open everything. But, they know that they are able to drive, traffic to their own, SaaS, like pass, or how to say as a service offering wherever they can make money.

But also, uh, like. A, anyone can run, supervise, it means, right?

We can write supervise too. Like this is this, I don't understand. Probably nobody understands. I don't know, maybe this is super interesting topic. Less, about self-hosted and so on. But it's interesting and um, Well, I'd like, I would like to explore.

I, decided to open source everything as well. So we just released, we didn't announce, but it's already stamped database lab engine 3.4, but I planned to switch from a G P L to Apache 2.0 in only in future version 4.0, who is still like an alpha soon will be in beta. So, but this morning we discussed with the team and I decided, That we will announce 3.4 database, lab engine, develop engine right now, and in few days we will make 3.5 just to change license, full license fully to Apache, and we will open source everything.

I, I don't know if I fail in terms of business, but I like the openness and I, I like open source and I know, there are people who feel the same. And, uh, would like to see, new wave of open source rise. We know this concept like cloud eight open source, but I think, things might change Let's

see.

[00:35:03] Michael: yeah, I just remember we actually had a discussion about this on Postgre TV relatively recently.

Pretty much the exact conversation. So I'll link that up in the show notes as well.

[00:35:11] Nikolay: Right. Who knows what will happen, but I have a feeling that, right now it feels like open source is losing to clouds and, companies move away from open source. But, uh, this might be just, , a sign that we will have a new wave of open source, open source in the future. Because believers, uh, like some people, like I, I'm, I'm going to be believer in open source.

Like I can, I want to bet on open source fully. I think they will develop good UIs, you know, good automation. Everything they do, they will do just because they want, like, you know, I want to live in the world where code as knowledge is shared freely. I think we deserve this world. Not like companies who like hide everything. So

[00:35:59] Michael: Well.

[00:35:59] Nikolay: be shared.

[00:36:00] Michael: I have to disagree a bit, being a, a provider of a closed source tool, but I think there's something to be said for platforms that are open being very, very, very, very valuable. And if we can collaborate on the what's in the middle, what's the platform that's serving a lot of these things. Everyone can build on top of that, whether that's open source, closed source, and people choose how, which, which components they want.

I understand the purest thing, but I do think there's a separate argument here that's not

[00:36:31] Nikolay: Let's, let's discuss it another time because

[00:36:35] Michael: good.

[00:36:36] Nikolay: yeah.

[00:36:38] Michael: Thank you, Nikolai. thanks everyone

[00:36:40] Nikolay: Thank you.

Thanks to our listeners. Don't forget to share with your colleagues and friends who work with Postgres. Uh, and, please provide some feedback and the likes as well, especially on, I don't know, like on YouTube, Twitter, LinkedIn, everywhere you can see our podcast. Please support us.

Thank you so much. Bye-bye.