Another year is passing by and another version of Postgres is here!
The PostgreSQL project roadmap is quite simple: there is a new major version each year around October/November and minor versions each quarter (unless there is a critical bug to fix). Why can't we simply give a date? Because it will come when it is ready. So, instead of delivering a buggy version to respect a deadline, the Postgres project prefers being extra sure of the quality of this version before releasing it.
For example, we were excited to explain to you the new JSON features in Postgres 15. We learned the sad news on the 2nd of September that most of those features won't be added to Postgres 15, because the developers didn't have the time to review and test the code thoroughly enough. If the project can't be sure of the stability of a feature (or a set of features), we'd rather postpone that feature.
Major and minor versions
Before explaining the Postgres project roadmap in detail, let me be sure we're on the same page by defining what major and minor versions are.
A minor version includes only fixes. It can be security or bug fixes. There is no new feature in a minor version. Another well-known word for minor version is "patch". Upgrading to a minor version is easy. You just need to stop Postgres, upgrade the binaries and start Postgres. This can be done with near-zero disruption easily by using physical standbys.
A major version includes new features. It can of course include fixes, but normally those fixes will be backported to the 5 previous versions too. With a major upgrade, you will need to update the Postgres internal tables. That's what the pg_upgrade tool does. The statistics will be cleared. That's why analysis is needed after a major upgrade. You can still achieve a near-zero disruption upgrade by using a logical standby, but it is more complex.
The Postgres roadmap
The Postgres project has several commit fests where patches can be reviewed, improved, accepted, rejected. The feature freeze occurs in April, so normally the March commit fest is the last one where features can be added to the next major version of Postgres. Right after the feature freeze, in May, the first beta is released. Depending on the need, 2 or 3 other beta versions will be released before September. Then, between the end of September and the beginning of October, an RC version is released. The new version is finally released at the end of October, or the beginning of November.
The PostgreSQL project timeline
Postgres 15 new features
During the following weeks, we will explain several new features that Postgres 15 brings to you in a series of posts on the EDB blog. Those features were selected either because of their usefulness for your projects or because they are near to our hearts.
These blogs will cover:
- The end of exclusive backup mode by Stefan Fercot, Database Backup Architect
- Copy Header and Matching by Bruce Momjian, PostgreSQL Evangelist
- How you can now pick your favorite compression algorithm for your WALs by Julien Tachoires, PostgreSQL Performance Engineer
- The merge command by Vik Fearing, PostgreSQL Expert
- New public schema permissions in PostgreSQL 15 by Peter Eisentraut, VP, Chief Engineer