Every year for the past few years, PostgreSQL have been releasing a new major version with new features, along with minor releases throughout the year. Active discussion and ongoing activity are a constant in the community, which continuously fuel further development to widen use of PostgreSQL in larger, more critical systems.
The most recent version released by the community enhances performance, monitoring, usability, and more.
As I mentioned in my previous post, the two features that I feel will be most useful are deduplication of B-Tree indexes and parallel vacuum. But other features were added to enhance PostgreSQL, including improvement in query performance and statistics.
Putting together a release
In every release, several people from different companies contribute in different stages, ensuring a high level of innovation and quality. This is generally the way the community works; each year, quite a few new faces join in, which enhances innovation even further.
Generally speaking, the PostgreSQL community does not define or have a specific roadmap. However, reviewing the recent contributions, I can see that people are interested in areas such as:
- Vertical and horizontal scalability
- Backup technology
- High availability
- Logical replication
These are some of the major areas where we see the focus recently, including in PostgreSQL 13. And I expect more work will be done in each of these areas in future releases.
Features in the pipeline for PostgreSQL 14
Naturally, with every release, there are features that do not make it into the version. Personally, I would like to see two features in the next PostgreSQL release (aka PostgreSQL 14):
- Logical replication of in-progress transactions and prepared transactions
This is a feature that will allow logical replication to be used in many more cases than it currently is.
- Scalability improvements
This will improve performance scalability where PostgreSQL could be used for large core machines.
As I mentioned, these features did not make the cut in the latest release, but the community is working hard on them, so they are likely to see the light of day in PostgreSQL 14.
Why were these features not released in PostgreSQL 13?
The main reason for these features not being included in the recent release was that many community members felt that they were not ready for commit, even though the discussion started much earlier in the release cycle. By now, part of this work has been already committed to PostgreSQL 14, and the rest is under active development.
This is evidence of our commitment to not only innovation but also quality code.
Community work is aligned with PostgreSQL usage trend
PostgreSQL is starting to be used in large-scale applications, and more financial and government institutions are adopting it. I believe this should be the future direction – financial institutions such as stock exchanges and big banks should start considering PostgreSQL in their mission-critical applications.
For this reason, this is a key area where I see PostgreSQL progressing, and the community work on the features above for PostgreSQL 14 is aligned with this direction.
FUJITSU Enterprise Postgres and PostgreSQL
On top of working on code with the community, Fujitsu is working in other fronts to further disseminate PostgreSQL — for example in containerisation and certification for Red Hat. These initiatives are very valuable in making PostgreSQL available in various workloads and different use cases. Moving ahead, we are committed to working on other interesting features as well.
As I have mentioned already, the PostgreSQL community does not formalise a roadmap, but in the next five years I would like to see improvements in high availability, scale out such as horizontal scaling (or sharding as we call it) for write scale-out, parallelism, and logical replication. In the area of storage engines, I would really like to see people coming up with a new storage engine. Adding to that, I’m interested in performance and scalability improvements which will improve PostgreSQL further for multi-core, multi-CPU systems.
I will be discussing more about my views on this topic in my next post.