Apr 11, 2024
Posted by
Ana Tavares
The results of the latest State of PostgreSQL survey are out! With a few new questions and expanded categories, the third Timescale survey of its kind paints an even clearer picture of the PostgreSQL community.
The State of PostgreSQL has always been a community affair, but we took it a step further this year: Heikki Linnakangas was one of the first people with whom we shared our initial results. After running the survey for four weeks (June 6-30, 2022) and reaching nearly 1,000 respondents 🎉, we were very interested in listening to what the long-time PostgreSQL developer and committer had to say—particularly when PostgreSQL is celebrating 25 years of existence.
If you haven’t had a chance to read the full report, check it out. You will get incredible insights into PostgreSQL users' contributions, specificities, and favorite tools. Keep reading for a particular view of PostgreSQL by who knows it best.
Our survey indicates that PostgreSQL “newbies” (new users experimenting with the database for less than a year) grew from 6.1 % in 2021 to 6.4 % in 2022.
So, we asked Heikki: what is your opinion on PostgreSQL growth?
Heikki Linnakangas (HL): I started hacking on PostgreSQL in 2003. It began as a hobby, and in 2006, I got my first paid job as a PostgreSQL developer.|
Early in my career, people would ask: "What is PostgreSQL?" and "Why would I choose it?". I don't hear these questions anymore. PostgreSQL is widely known and has become the default for new applications. As a PostgreSQL developer, that's flattering but also a bit scary. We mustn't become complacent.
This year, we added extra options to the survey so that respondents could justify why they would choose PostgreSQL over other databases. “Open source” was one of the new additions, and perhaps unsurprisingly, it came out on top, with 19.3 % of PostgreSQL users saying it’s the main reason they use the database.
“Reliability” came second (16.5 %), and “extensions” were the third main reason (9.9 %). Another interesting fact is that the users’ years of experience were directly related to their answers. “Reliability” was the number one reason to choose PostgreSQL among those who have been using the database for 11-15 years, while “open source” was primarily pointed out by users with up to five years of experience.
We had to pick Heikki’s brains on this: what do you think about the difference between the “old” and “new” generation of PostgreSQL users? In a world where tools are increasingly available, is open source popular simply because it requires less investment, or are there other reasons?
HL: I was drawn into PostgreSQL by the source code. I briefly looked at some others, but the PostgreSQL codebase was the most enjoyable to work with. It is very accessible, well commented, and has lots of interesting nooks and crannies. This is only possible with open source.
I'm surprised that people who have used PostgreSQL for longer rank the reliability higher than newcomers. My guess would've been the other way around, as PostgreSQL is more mature and stable now than it was 15 years ago. Perhaps people start to appreciate the reliability when running their applications for longer. Or when they simply get older :-).
Community contribution remains low, with 83 % of respondents saying they never contributed to PostgreSQL and only 12 % saying they’ve contributed “sometimes.”
We asked Heikki three questions on this matter: his take on the issue, why people found it hard to contribute, and how we could improve the contribution process.
HL: To flip it around, 17 % of the respondents did contribute. That's a lot! Most people use PostgreSQL because it just works, and they don't want to tinker with it. And that's fine.
That said, I wish we could make it easier for those who want to contribute. PostgreSQL is a large codebase, and there's a learning curve. The process can also frustrate people; getting feedback can take a long time, and patches can fall through the cracks.
An important source of contributions comes from companies relying heavily on PostgreSQL but whose main product is something else. Often, there is will at the company level to contribute, but in practice, it depends on individuals within the organization to carve out the time to do so. Some engineers have the drive to do that, but it's rare for things like documentation or advocacy.
Another curious insight from the survey is that small and medium businesses (0-50 employees) use PostgreSQL more today than they did one year ago. The result is on par with a broader trend: PostgreSQL’s usage is growing, with the majority of respondents—55 %—saying that they have increased their usage of the database.
Interested in Heikki’s perception of the PostgreSQL market, we asked the developer and committer why small businesses leaned more towards PostgreSQL than larger companies.
HL: New applications increasingly choose PostgreSQL, so you'll naturally see more PostgreSQL in small and medium businesses that are more agile. Larger organizations have more inertia, but I'm sure they will follow.
The majority of respondents (76.1 %) answered that technical documentation is their preferred way of learning about PostgreSQL, followed by long-form blog posts (51.5 %) and short-form blog posts (43.3 %). But the new generation of PostgreSQL enjoys learning slightly differently: users with less than five years of PostgreSQL experience gravitate toward video as their first option. Is Heikki in tune with this new generation? And what are his favorite learning resources?
HL: I follow the development by reading the pgsql-hackers mailing list. On particular topics, I tend to read the source code directly. The "Waiting for PostgreSQL 15" blog series by depesz is great for keeping up to date on new features.
Not much has changed in the top 10 extensions that PostgreSQL users favor most. In this free-form question, the 2022 top 10 closely mirrors the answers from the previous year—check out our Top 5 PostgreSQL Extensions blog post for more details. We asked Heikki if he had tried any of the extensions on the list and recommended any in particular.
HL: PostGIS, Citus, and TimescaleDB are all impressive in how such complex functionality can be packaged into an extension.
Aside from these, I'm a big fan of application-specific extensions and datatypes. A little bit of custom server-side code at the right place can simplify an application greatly and allow you to do things that are simply not possible with other systems.
SQL, Python, Java, shell scripts, and JavaScript/Typescript remain the most commonly used languages to access PostgreSQL. PostgreSQL users with up to five years of experience are more likely to use JavaScript or TypeScript than Java.
Users with six or more years of experience are more likely to use shell scripts to access the database than less experienced users. Here’s what Heikki had to say about that:
HL: These days, developers typically start their careers with web front-end development and JavaScript. I think the popularity of JavaScript among new PostgreSQL users reflects only that.
Less PostgreSQL users are self-managing the database compared to 2019 and 2021. Of those who deploy PostgreSQL as a Kubernetes container, 44 % use Helm, 16 % use Crunchy Operator, and 7 % use Zalando Operator. Why are PostgreSQL users increasingly handing over the database management duties to others?
HL: At Neon [which Heikki cofounded], we provide PostgreSQL as a cloud service. I'm biased, but I think that trend will continue and accelerate. Managing a full PostgreSQL installation with high availability, backups, etc. can be a lot of effort. Many tools are available, but a turnkey solution is always easier.
Even those who manage their own installation will increasingly do it with cloud tools. On-premise installations look more like cloud environments these days, with Kubernetes and network storage. Larger organizations have their own private clouds.
HL: PostgreSQL is becoming the lingua franca of databases. There is a lot of database innovation happening outside PostgreSQL. Still, these new products will adopt the PostgreSQL wire protocol and SQL syntax to be compatible with existing PostgreSQL applications and the ecosystem.
We will also see more forks of PostgreSQL, taking PostgreSQL as the starting point but replacing some parts. They will make different trade-offs or specialize in particular use cases. Some will wither off, and some will be successful in their niche. Some forks will merge back to the PostgreSQL project; others will live their own lives as extensions. TimescaleDB and Citus are good examples of that.
The cloud trend will also continue. We will see more demand and contributions to make PostgreSQL easier to operate in the cloud.