Why Postgres? And Why Now? With Claire Giordano

## Metadata
- Author: [[Hanselminutes with Scott Hanselman]]
- Full Title: Why Postgres? And Why Now? With Claire Giordano
- Category: #podcasts
- URL: https://share.snipd.com/episode/7a234685-fabe-48be-92b3-40857fc6f26d
## Document Notes
## Highlights
- **Career Path Through Citus To Postgres Core**
- Claire discovered Postgres when she joined the Citus open source team in 2017, which is an extension to Postgres.
- After Microsoft's acquisition of Citus she shifted focus from the extension to contributing to Postgres core.
Transcript:
Claire Giordano
Discovered Postgres when I first joined the Citus open source team, which was a small San Francisco based startup in 2017. And Citus is an extension to Postgres. So that's kind of how I got my start. And in the beginning, I was focused almost completely on the Citus extension. And then over time, after Microsoft acquired the company, I became more and more involved with the Postgres core. And that's what I spend my days on now. ([Time 0:02:49](https://share.snipd.com/snip/6a20b67a-4e67-4476-9cf0-3bd480c83e0c))
- **Extensibility Was Built In From Day One**
- Extensibility was a core design goal from the earliest Postgres design documents in 1986.
- That extensibility enabled features like extensions and custom data types that expanded Postgres's ecosystem.
Transcript:
Claire Giordano
One of the things that I came to learn is that in the very first design document authored by Michael Stonebraker and Lawrence Rowe back in like the 1986 timeframe called the design of Postgres, the second design objective on there was the extensibility of Postgres in terms of data types and access methods and things like that. And so what I think is so cool is that part of what has made this ecosystem so big and has made the database so popular with developers is the extensibility. ([Time 0:03:38](https://share.snipd.com/snip/6ec66f71-2731-4a4d-b2c0-ea0e50454edf))
- **Permissive License Fueled Wide Adoption**
- Postgres's permissive PostgreSQL license made it easy for universities and developers to adopt and learn it.
- That early openness seeded a large community of users and contributors worldwide.
Transcript:
Claire Giordano
Obviously, Postgres is open source. So people know that. And it has a very permissive license, which means it's okay to fork it. It's okay to pretty much do anything. The license is called the PostgreSQL license, but you can think of it as similar to MIT or similar to BST, just very liberal in terms of what you can do. And as a result, it means a lot of universities use it. A lot of people learn it in college. ([Time 0:07:44](https://share.snipd.com/snip/364e7c40-143f-4ec2-a7ba-31b598ad5274))
- **No Single Owner, Collective Stewardship**
- No single company owns Postgres, so development reflects many companies' needs rather than one vendor's agenda.
- That distributed stewardship helped Postgres become the 'people's database' with global collaboration.
Transcript:
Claire Giordano
It helps. It helps that Postgres doesn't belong to any one company. That was my next question.
Scott Hanselman
I was like, what's the giant company that owns it?
Claire Giordano
Yeah, there is no giant company. Microsoft has a whole bunch of people on salary who work on the upstream Postgres open source project. You know, in addition, we have our Azure database for Postgres offering that's a managed service that customers use. But people like me and the developers who work on it, we're focused on the open source project. But we're not the only company, right? EDB, Amazon, a lot of smaller companies, even Google have people who contribute to this project. And the collaboration is global. It's across so many different countries and continents. ([Time 0:08:33](https://share.snipd.com/snip/c6e39cb2-99c0-462b-b3ae-88dd742b68e0))
- **JSONB Bridged SQL And NoSQL Worlds**
- Postgres added JSON and JSONB support (around 2012 and later) to offer flexible schemas alongside relational features.
- That hybrid capability helped Postgres compete with NoSQL and broaden its appeal for modern applications.
Transcript:
Claire Giordano
Then if you go back to the 90s, I don't know if it was the early 2000s or the late 90s, but when Oracle came out with their multi-core licensing, right, that definitely made Oracle more Expensive, which did prod some people to want to look for a relational database that was more affordable, but still could meet all the requirements. And then you said web scale. That brings up the idea of NoSQL, right? And that wonderful cartoon that came out years ago. But Postgres added support for JSON and JSONB too along the way. I think that was like 2012. And that, I think, was also a watershed moment in helping popularize Postgres because it meant you could have this ability to create schemas that were more flexible in addition to having All of the benefits of relational. And you could do that in one database. And JSON support was added first, and then JSONB, right, the binary object notation support came in probably a couple releases later. ([Time 0:10:58](https://share.snipd.com/snip/460af849-755c-48a0-9780-c05697bd08cd))
- **Use Mailing Lists And Find A Committer**
- If you want to contribute, use the mailing lists and find committers willing to sponsor your work.
- You must convince enough committers because they hold the commit bit and help maintain changes long-term.
Transcript:
Claire Giordano
Yes. Yes. And one other thing that distinguishes Postgres from other databases that might have a single company behind them is there is no top-down roadmap that gets created for each new release, For example. It's all very bottoms up. And people work on what they think is important based on their interactions with users, based on what they're learning online, and also based on what they can convince other people To collaborate with them on. There's this annual conference that happens in Canada every year. It's now called PGConf Dev, and it'll happen again next May. It'll be Vancouver this time. And a lot of the committers and contributors go to that event. And that's where the collaboration starts for the next release.
Scott Hanselman
So if someone were to have an idea, they would go into the mailing list, they'd express their idea, and the idea would make its way all the way to a major version over some period of time Based entirely on the strength of that idea. They would not be able to push that through and get it all the way out if everyone was not excited about that new feature.
Claire Giordano
Yeah, you basically, you don't have to convince everyone to get something in, but you have to convince enough people. And we, there are 31 committers in the Postgres project today. That number will probably change again next spring when new people are invited to become committers. But committers are people who have that commit bit, who are actually, and a lot of other open source projects, they might be called maintainers. So certainly if you're authoring some new update to the code, you do have to find a committer who's willing to commit it. ([Time 0:18:46](https://share.snipd.com/snip/d68bf812-cb10-4adc-a290-d0d805191f16))
- **Bottom-Up Development Drives Stability**
- Postgres development is bottom-up: features land when contributors and users drive them, not from a top-down roadmap.
- That model favors careful, community-vetted changes and long-term stability.
Transcript:
Claire Giordano
It's all very bottoms up. And people work on what they think is important based on their interactions with users, based on what they're learning online, and also based on what they can convince other people To collaborate with them on. There's this annual conference that happens in Canada every year. It's now called PGConf Dev, and it'll happen again next May. It'll be Vancouver this time. And a lot of the committers and contributors go to that event. And that's where the collaboration starts for the next release.
Scott Hanselman
So if someone were to have an idea, they would go into the mailing list, they'd express their idea, and the idea would make its way all the way to a major version over some period of time Based entirely on the strength of that idea. They would not be able to push that through and get it all the way out if everyone was not excited about that new feature.
Claire Giordano
Yeah, you basically, you don't have to convince everyone to get something in, but you have to convince enough people. And we, there are 31 committers in the Postgres project today. That number will probably change again next spring when new people are invited to become committers. ([Time 0:19:03](https://share.snipd.com/snip/f7323c18-04d9-408c-b0e0-dad147c0aaf6))
- **Major Features Require Multi-Year Prep**
- Big features can take years of groundwork and incremental changes before shipping in a major release.
- Asynchronous I/O support for reads landed in Postgres 18 after roughly a five-year effort.
Transcript:
Claire Giordano
Of the exciting new things that has just been added to Postgres 18, which might not sound new to you if you're coming from another database or another project, but asynchronous I.O. Support for reads has just been added to Postgres 18. And that's been years in the making. In fact, I'm excited to be here on your podcast, but I host a monthly podcast as well called Talking Postgres, a little minor plug there. And recently I had Andres Freund on as a guest and it was really cool. It wasn't about asynchronous IO, like here's how you use it or here are the capabilities that that new feature gives you. But it was instead, Andres, by the way, is a committer and a partner engineer who works at Microsoft. But he's also works in the open source project, first and foremost, and is a member of the core team. And he was reflecting on what went wrong and what went right with that project, because it was a multiple, it was a five year long project leading up to this point in Postgres 18.
Scott Hanselman
Wow. Five years. Yeah. ([Time 0:21:36](https://share.snipd.com/snip/bb8349db-4d6b-4d19-8798-01407d6818f8))
- **Check Trademarks Before Using 'Postgres'**
- Check the Postgres trademark policy before naming a product to avoid infringement and community confusion.
- Contact the Postgres Community Association if you need guidance on acceptable usage.
Transcript:
Claire Giordano
Do remember that. And I probably know more about that than I should, because about a year and a half ago, I became a board member for this entity called PGCA Postgres Community Association. And we, we shepherd the trademarks for Postgres. So that's the names Postgres and PostgresQL, both of them, both spellings, as well as Slonic, which is the elephant logo or icon, if you will, that visually communicates that this is Postgres. So we protect the trademarks and domain names for all of those things. And part of what I've been trying to do, and I did not plant this seed with Scott, just so you know, I don't even think he knew that I'm a board member. No, I didn't know. I'm learning this now. I was just doing research.
Scott Hanselman
I've got about 48 tabs open right now.
Claire Giordano
So one of the things though, that as a board member now that I try to do is raise people's awareness that there is a Postgres trademark. And so if you're about to name something, maybe you created some new service or feature, you want to use Postgres in the name, go read the trademark policy and make sure that what you're Doing is in compliance with it. And if not, there's an address there. You can reach out to the board and ask questions because we do need to protect it. You don't want someone to go call something that isn't affiliated with a project at all and go call it Postgres and confuse the user community. ([Time 0:24:11](https://share.snipd.com/snip/c1bca4e9-400e-4bea-9f4b-e380af1fdf33))
- **Project Runs Its Own Build Farm And Servers**
- Postgres runs its own infrastructure off GitHub and maintains a build farm of over 200 'animals' for cross-platform testing.
- A small sysadmin team plus commercial sponsors maintain servers for Git, mailing lists, and email for the project.
Transcript:
Claire Giordano
No, it's not. Okay. So one of the things that the Postgres project, the open source project is famous for, is not wanting to depend on any commercial vendors. So for example, the source code for Postgres is not on GitHub. That's available on GitHub that's kept up to date. But it runs using Git on servers that are maintained by a sysadmin team that is part of the Postgres open source project. And that's about seven or eight people, I believe. And they don't just manage the Git servers. They also manage the servers that host the mailing lists. They also have to deal with hosting email as well, because all of the Postgres committers, they all have an at PostgresQL.org email address, for example. There are commercial sponsors for all of these servers that people run, like from Canova and Rackspace and AWS, and I'm probably forgetting somebody else. So that's helpful. But there are people who carry pagers that maintain all of these servers that the project runs on. In terms of your question about build, Postgres has a build farm. And there's a committer named Andrew Dunstan, who is like the face of the Build Farm. And all of the servers on the Build Farm are called animals because it's a farm, I guess. And there are over 200 different animals in the Build Farm. ([Time 0:28:30](https://share.snipd.com/snip/17a6358c-c6c7-4200-8706-ed9455c5cc2b))
- **Packaging Is A Global, Dedicated Effort**
- Packaging and OS-specific builds are handled by dedicated maintainers across Debian, RPM, and other ecosystems.
- The extension ecosystem also requires coordinated packaging and releases alongside core Postgres.
Transcript:
Claire Giordano
Crazy. And there are people who are seriously dedicated to creating the packages across all of these operating systems, both on the developer side. Like I know when Thomas Monroe on our team is involved in a lot of the operating system support, but on the packaging side, there's an engineer named Christoph Berg and an engineer named Devrim Gunduz, neither of whom work for Microsoft, but they take packaging of Postgres seriously. You know, Debra manages RPM and Christoph is more on the Debian side of things. And yeah, there's a lot of attention to detail there. And it's not just core Postgres either. All those extensions that I talked about earlier, those all have to get built and released with the new versions. ([Time 0:31:07](https://share.snipd.com/snip/a04341a7-4838-46ec-b124-bcedb9fe0080))
- **From Raspberry Pi To Hyperscale**
- Scott installed Postgres on a Raspberry Pi and found it trivial to set up with apt, highlighting its ubiquity.
- Postgres runs everywhere from ARM devices to hyperscale cloud deployments.
Transcript:
Scott Hanselman
And I think that is a good belief to have. And I think that we do see it. I literally put Postgres on my Raspberry Pi yesterday, and it was like, pseudo apt install PostgresQL. It was like that easy. And I couldn't believe that this giant hyperscaler level database that runs half the world is now running on like a pocket sized ARM device and can run everywhere in between. And folks can go and learn more about this at postgresql.org. P-O dot O-R You can see right there on the homepage, Postgres SQL 18 released. ([Time 0:35:00](https://share.snipd.com/snip/3a5dd9c1-9c39-4457-830f-7ee8587b121f))