Citus 12.1 is out! Now with PG16 Support. Read all about it in Naisila’s 12.1 blog post. 💥
Interview with the Postgres committers who have joined the Postgres team at Microsoft by Sudhakar Sannakkayala (Partner Director, Azure Data) and Ozgun Erdogan (Principal, Azure Data)—cross-posted from the Azure Database for PostgreSQL Blog.
In recent years, the data landscape has seen strong innovation as a result of the onset of open source technologies. At the forefront, PostgreSQL has shown that it’s the open source database built for every type of developer. By staying true to its principles of being standards-compliant, highly programmable, and extensible, PostgreSQL has solidified its position as the “most loved database” of developers across the board—ranging from scenarios for OLTP, analytics, and business intelligence to processing various formats of geometric data using the PostGIS extension.
Since Microsoft embarked on our journey with PostgreSQL, we’ve launched enterprise-grade features such as Intelligent Performance and Advanced Threat Protection on Azure Database for PostgreSQL, released valued contributions such as pg_auto_failover to PostgreSQL, and most importantly, acquired Citus Data to add to our fully-managed offering for PostgreSQL.
In the spirit of this commitment, we’re invested in nurturing a culture of contributing to and collaborating with the community on an ongoing basis. On that note, we’re excited to welcome three key PostgreSQL committers to Microsoft—Thomas Munro, Jeff Davis, and Andres Freund.
We recently sat down with them to talk about what’s top of mind and their experiences so far. Check out the conversation below to learn about their thoughts and insights, fresh off joining Microsoft. Before we start, let’s begin with some introductions:
Thomas has been working on PostgreSQL for about 5 years. Prior to that, he wrangled code and data in the software consulting and fintech industries, with his first production PostgreSQL installation on release 7.4. His interests include parallelism, performance, and portability.
Jeff has been engaged with PostgreSQL since early 2005. Starting out as a developer, followed by a stint as a DBA, he significantly contributed to the storage layer, the SQL dialect, the client, and client drivers, which increasingly built his prominence as a key PostgreSQL committer.
Andres started using PostgreSQL around 2005, and he subsequently started to submit patches. Since then, he’s consulted on PostgreSQL, and he’s now prominent in PostgreSQL development. His focus areas are scalability, efficiency, and replication.
Jeff: PostgreSQL is adaptable and flexible to an amazing degree. People always want more power over their data—more opportunities to link with other systems and combine data in interesting ways to get a result. PostgreSQL has great extension APIs and an open-source mentality where creative ideas are taken seriously. That’s the great thing about open source: people might say “no” to a specific proposal, but nobody will tell you to stop trying.
Andres: Open source technologies have been gaining adoption in general due to their innovation and flexibility. PostgreSQL resonates with and stays true to these principles of open source which keeps its adoption growing. No one can see the future but with the way things are going now, I see PostgreSQL driving many key scenarios in large enterprises as well, in addition to its success with smaller workloads.
Thomas: PostgreSQL has a very long history. For many years now, it has formed the basis of many commercial forks due to its BSD license, extensibility and popularity. I think we’re in a new phase now. We are seeing more contributions to the core project with a growing emphasis on the open source principle of collective ownership, and even some “unforks”. It’s great to have increasing investment and cooperation in the project, and an ever-increasing user base.
Jeff: PostgreSQL, more than any other database system, reflects the overall developer community. For instance, it’s a first-class JSON database now, with good indexing support and a wide range of built-in functions. The developer community will continue to change and embrace new protocols, data formats, models, runtimes, etc. and PostgreSQL will be right there with them. Our goal is to make PostgreSQL perform well with these new technologies.
Andres: Historically, PostgreSQL has had to strike the fine “balance” between critical performance investments on the one hand, and the availability of development and maintenance resources to drive such investments on the other. I think that generally we have achieved this balance well, allowing us to add many key features with a relatively small team. Now that PostgreSQL has become more popular, and development resources have increased, I think we can afford to invest more to push on performance—and I’m excited about what we can achieve here. I think this sort of balance is easier to maintain in a diverse open source project. With the resources we now have available, I am looking forward to working on deep architectural changes which should make it easier to build towards a broader, more ambitious roadmap that will benefit the community and our customers alike.
Thomas: One thing I have learned from some very smart and hardworking people over the past few years: nothing is really off limits; we don’t have to be confined by the architectural choices of the ancient past, even ones that seem to define PostgreSQL. The mailing list is full of discussions about how to replace VACUUM, JIT-compile queries, escape from the tuple-at-a-time volcano model, vectorize, and so on. Very generally, some of things I see on the horizon include better management of memory, CPU and I/O resources, and new table formats with different trade-offs. These will allow for more predictable operation in various types of workloads and open new use cases.
Jeff: In general, scenarios that typically don’t have a long list of complex requirements can use PostgreSQL by default—such as OLTP and analytics scenarios. But in general, it works well with scenarios that need to grow and adapt with your application. It’s quick and friendly to use for developers, which means that no matter the scenario, it can be easily adopted by the developer. If you do have a long list of complex requirements, there are probably a few gaps/opportunities that PostgreSQL needs to improve in.
Andres: In my experience, PostgreSQL has had the most success in workloads that have a strong transactional nature, and complicated ones where PostgreSQL’s extensibility shines. Over time, we’ve extended what is possible to cover a lot more workloads. While there are plenty users of PostgreSQL using it for traditional data warehouses, it is not yet where PostgreSQL shines most. However, I do think there are more and more HTAP like workloads where PostgreSQL is a good fit, and we can extend further out from there, with reasonable effort. PostgreSQL will never beat all databases specialized for a niche, but that shouldn’t be the goal anyway. I’m looking forward to seeing PostgreSQL be the reasonable default choice for many more scenarios in the future.
Thomas: Like other established RDBMS, you can find PostgreSQL in every industry powering websites, telecommunications, financial system, stock control systems, scientific data management, GIS systems and every other kind of information system imaginable. Here are some assorted use cases I've heard about that I personally like: OpenCue is an open source job scheduler that controls huge graphics render farms, and it recently switched to PostgreSQL as its central database; the national land information agency in my country (and probably many others) uses PostGIS extensively; I’ve seen and heard of PostgreSQL used for both OLTP and analytics at many banks and finance firms.
Jeff: Being a part of the PostgreSQL community gives us more chances to interact with customers and solve their problems faster than anyone else and makes us a trustworthy and sustainable service. Now with Microsoft Azure, we can further impact the community and customers by delivering outside-in ideas through Azure Database for PostgreSQL. The managed service is a strong contender for PostgreSQL workloads as it stands today, especially with the enterprise-grade features it has made available to PostgreSQL. There is more that we can do, but I feel confident we have a great start.
Andres: One big advantage of PostgreSQL on Azure is that it now provides PostgreSQL embedded in an environment where it did not typically belong. I do think we have a great start with Azure Database for PostgreSQL, but I am looking forward to the improvements we can make on the performance, the feature set, and the architecture to unlock broader use case scenarios. I am looking forward to diving deep here with the team to see what we can achieve together.
Thomas: In my opinion, users will benefit from Microsoft’s approach to open source—which is, being an active part of the wider community, coordinating with developers from the community and other companies, taking user feedback to projects, and contributing to the ecosystem. This approach is critical not only for PostgreSQL, but for open source in general. Microsoft’s commitment to open source and PostgreSQL is tangible.
Thomas (on behalf of Jeff and Andres): For starters, the talent, expertise and wide investment into PostgreSQL at Microsoft will allow us to improve the architecture of PostgreSQL by keeping it maintainable while adding crucial capabilities and features for adoption by more kinds of users. We're really looking forward to learning from the wide-ranging customer workloads, deep operational experience, and many brilliant researchers here at Microsoft—all of which will guide us in our contributions to PostgreSQL.
Andres (on behalf of Jeff and Thomas): Although we are still settling in and learning the ropes of how teams here work and mobilize themselves, we have already kicked off a few key projects. Some examples are:
We will also be engaging the community through our individual social channels and so keep an eye out for what’s coming next there. We are excited for the coming months. Stay tuned!
Jeff: I used to sail a bit back in the day. Getting back to it soon.
Andres: I love climbing, hiking a lot.
Thomas: I’m an avid biker—as in bicycles.
This concludes the interview. We’re delighted to have Jeff, Thomas, and Andres on board, and we look forward to what’s next with Microsoft Azure and PostgreSQL. Thanks for reading and stay tuned for more details in the coming months.