Update of PostgreSQL (postgresql and libpq components) in Fedora from version 14 to version 15 in the non-modular (main) builds.
- Name: Ondřej Sloup
- Email: firstname.lastname@example.org
- Targeted release: Fedora Linux 38
- Last updated: 2022-12-02
- devel thread
- FESCo issue: #2882
- Tracker bug: #2139102
- Release notes tracker: #894
Update of PostgreSQL (
libpq components) in Fedora from version 14 to version 15 in the non-modular (main) builds.
This also involves moving the postgresql-static subpackage to libpq creating the libpq-static subpackage.
- Prepare PostgreSQL 15 in Copr (TBD)
- Rebuild important dependencies in Copr (TBD)
- Debug and fix compatibility issues found in dependencies (a reasonable amount of non-critical in FTBFS state might be tolerable)
- Build in a "side tag" to prevent dependencies from failing and rollout once stable
- Prepare Pull requests in Rawhide
- Merge and build into a "side tag"
- Once stable merge into Rawhide
Benefit to Fedora
The latest stable software is used by Fedora users, providing additional features and fixes.
- Proposal owners:
- Prepare PostgreSQL 15
- Prepare PostgreSQL 14 as a module for Rawhide
- Check software that requires or depends on
libpqpackages for incompatibilities
- Build PostgreSQL 15 (postgresql and libpq) to Rawhide
- Rebuild depended on packages against PostgreSQL 15
- Gather user input on the changes between PostgreSQL 14 and PostgreSQL 15
- Other developers: N/A (not a System Wide Change)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
The PostgreSQL client library (libpq component) is compatible. So, there shouldn't be any compatibility issues, but rebuilding the dependent components is recommended.
Server plugins might require a newer version update because they sometimes have explicit server requirements. PostgreSQL maintainer will help fix/rebuild any issues in the plugins.
How to upgrade your database data from one PostgreSQL release to a newer one is described in Upgrading a PostgreSQL Cluster
How To Test
Usual testing when upgrading between major PostgreSQL versions is running
postgresql-setup --upgrade necessary between major versions.
Test that all other software runs well with PostgreSQL 15.
The users will have to upgrade their databases the same way as major PostgreSQL versions, aka
postgresql-setup --upgrade after installing PostgreSQL 15 server packages.
If users want to stick with PostgreSQL 14 for a little longer, there will be PostgreSQL 14 module.
Some packages (mostly server plugins) build on top of PostgreSQL. Since the separation of the PostgreSQL client library (libpq component), only packages that build server plugins should use postgresql package in BuildRequires; others should use libpq. In the case of Postgresql-server, a rebuild should be done to make sure all potential binary incompatibilities are handled.
- PostgreSQL server dependencies
- postgres-decoderbufs – The package does not support PostgreSQL 15 yet. Hopefully, support will be added in the next release (Fixed in version 1.9.7)
- timescaledb – The package does not support PostgreSQL 15 yet. Hopefully, support will be added in the next release. Building with PostgreSQL 15 can be done with an experimental flag, but currently fails.
Copr with builder dependencies https://copr.fedorainfracloud.org/coprs/osloup/postgresql_update_15_2/
Revert changes in the non-modular packages and provide PostgreSQL 15 as a module stream only.
Upgrade strategy: https://www.postgresql.org/docs/15/upgrading.html
Release notes for PostgreSQL 15 release: https://www.postgresql.org/docs/15/index.html
Overall overview of the changes and improvements: https://www.postgresql.org/docs/15/release-15.html