We created and distributed a survey to Postgres users around the globe to see how they are using the database in 2019 and the results are in…
In its 30+ years of existence, Postgres maintains a loyal fan base of developers around the world who rely on Postgres for its familiarity, stability, and reliability. But who are these developers and what are their use cases?
At Timescale, we’re always looking for ways to contribute to the Postgres community by doing things like building open source tools, sponsoring meetups, and speaking about Postgres at events. We’ve also developed handy resources like PG Cheat Sheet and PG Schema.
Since we’re active members of the Postgres community ourselves, we know that it’s an expansive, supportive, and extremely creative group of people. To understand the community even better, we polled members on the “State of Postgres” to learn more about their personas, see how they are using the database, and to get feedback on what they like/how Postgres could be improved.
This year was the first time we decided to do the survey and hope to conduct it for many years to come. The inaugural survey was broken up into five sections: developer profiles, use cases, ecosystem & tools, technology, and competitive landscape. Here, we’re highlighting a few of the key findings, and you can view the full survey results at stateofpostgres.com.
To start, 67% of respondents said that Postgres is either being used “more” or “a lot more” in their organization compared to just two years ago (DB-Engines did name Postgres as the “Database of the Year”...), which is a good indication of increasing popularity.
Half (50%) of respondents report that their organization is in the software industry, followed by finance (9%), IoT (7%), and education (7%). Additionally, a majority of respondents (70%) define their use case as app development, while others define theirs as dashboarding (30%), monitoring (30%), and real-time analytics (30%). (For this question, you could choose as many options as you like, since use cases aren’t one-size-fits-all.)
And while we know Postgres is a popular choice among organizations for its reliability and stability (91% use it at work), a majority (81%) also report using Postgres for their personal projects. Many of these developers are experienced, with 61% working in their field for more than 10+ years, and 21% with over 20 years of experience. However, there is a significant portion (45%) of developers who have adopted Postgres within the past 5 years, further demonstrating that the database is growing in popularity.
Additionally, our report revealed that 91% of respondents have never contributed to code to Postgres, leaving 9% to report contributing “several times” or “once or twice”. While this number might not seem impressive at first, if you think about the hundreds of thousands of people using Postgres worldwide… 9% is a lot of contributors!
We weren’t too surprised to see that 66% have never been to a Postgres event before. We wrote about the lack of attendees at conferences more in depth at the beginning of this year. If you have the opportunity to attend a meetup in your area, we encourage you to check it out!
When it comes to deployment options, the largest percentage (46%) prefer to manage at least some of their deployments themselves on-site. It was also surprising to see that 28% do not use a cloud provider at all. Among those who do choose to deploy via a public cloud (33%), the majority were on AWS (51%) followed by GCP (18%) (similar to other questions, respondents could choose more than one option).
Room for improvement
We asked open-ended questions to better understand common pain points and where Postgres could improve in the future.
While 57% reported that the onboarding experience as either “fairly easy” or “extremely easy,” many cited a few ways to make the onboarding experience even better:
- More beginner-targeted documentation
- Material on replication and failovers
- Better GUI tool (many suggested that PGAdmin could be improved)
- Training sessions
- Additional tutorials/use case examples
We asked about the biggest pain points people experience when using Postgres, and many responses included the following:
- Documentation could be improved (cleaned up, add more tutorials)
- Replication, sharding, partitioning, vacuuming
- High availability
- Options for scaling up and out
- Schema development
Perhaps you identify with some of the points listed above (no solution is perfect!), but we also saw a ton of positive feedback for Postgres, its ecosystem, and the community.
Feeling the love
As part of the survey, we asked users what is the biggest advantage to working with Postgres? Some of our favorite responses include:
“Whatever I need for my job as a data engineer is either built in or available as an extension.”
“Licensing costs for competitors are ridiculous. Postgres gives an enterprise level functionality with a very reasonable support price if my clients need it.”
“It just works. I don't have to lose sleep worrying about losing data.”
“The fact that there are no limitations on how I can use it and how many instances I can deploy is the largest plus for the company. Personally the sheer amount of 'stuff' nearly every problem I've run into has been solved in a reliable way or at least documented leading me into a good direction to solve my issues.”
“It is open source and equivalent with any commercial product with all features like partitioning, parallel processing.”
And last thing to note, there’s a lot of people who tried a NoSQL solution and strongly disliked it, or reported that they were smart enough to see through the NoSQL hype early on :).
Where to go from here
As we mentioned above, you can check out the full survey results at stateofpostgres.com. We encourage you to share the site with other members of the community who might find it interesting.
This is the first time we’ve conducted this survey and hope to do it on an annual basis. We are sure that there’s room for improvement and would love to hear your feedback on how we can make it better in the future. If you have suggestions, comments, questions, etc. drop them in the comment box below, let us know on Twitter (follow #StateofPostgreSQL for updates), or join Timescale’s Community Slack and message us in #general.
Reminder: We’ve also developed a few other resources to help you with your Postgres deployment:
- PG Cheat Sheet - get essential Postgres commands, all in one place
- PG Schema- develop a schema for Postgres (or TimescaleDB) in just a few steps
Final note, we will be at PGDay SF (January 21, 2020) and PGConf NYC (March 23-27) and would love to meet you! We will update this post with any information about our booth location and any talks we plan to give.
Thank you for being part of the community!