m (→Dependencies) |
|||
(29 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= PostgreSQL 15 = | = PostgreSQL 15 = | ||
== Summary == | == Summary == | ||
Update of PostgreSQL (postgresql and libpq components) in Fedora from version | Update of PostgreSQL (postgresql and libpq components) in Fedora from version 14 to version 15 in the non-modular (main) builds. | ||
[https://www.postgresql.org/docs/release/15.0/ PostgreSQL 15.0 Release Notes] | [https://www.postgresql.org/docs/release/15.0/ PostgreSQL 15.0 Release Notes] | ||
Line 13: | Line 11: | ||
This should link to your home wiki page so we know who you are. | This should link to your home wiki page so we know who you are. | ||
--> | --> | ||
* Name: [[User: | * Name: [[User:osloup| Ondřej Sloup]] | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: | * Email: osloup@redhat.com | ||
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | <!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | ||
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | * FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | ||
Line 23: | Line 21: | ||
* Responsible WG: | * Responsible WG: | ||
--> | --> | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF38]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 34: | Line 33: | ||
<!-- [[Category:SystemWideChange]] --> | <!-- [[Category:SystemWideChange]] --> | ||
* Targeted release: [[Releases/ | * Targeted release: [[Releases/38 | Fedora Linux 38 ]] | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
Line 42: | Line 41: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* FESCo issue: | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/CJ5VDXJYMSMCTDP2RY672HPQF6NKT64G/ devel thread] | ||
* Tracker bug: | * FESCo issue: [https://pagure.io/fesco/issue/2882 #2882] | ||
* Release notes tracker: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2139102 #2139102] | ||
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/894 #894] | |||
== Detailed Description == | == Detailed Description == | ||
Update of PostgreSQL (postgresql and libpq components) in Fedora from version 14 to version 15 in the non-modular (main) builds. | Update of PostgreSQL (`postgresql` and `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. | This also involves moving the postgresql-static subpackage to libpq creating the libpq-static subpackage. | ||
=== Plan === | |||
* 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 | |||
== Feedback == | == Feedback == | ||
Line 55: | Line 65: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
The latest stable software is used by Fedora users, providing additional features and fixes. | |||
The latest stable software is used by Fedora users. | |||
== Scope == | == Scope == | ||
Line 118: | Line 101: | ||
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done. If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be. | <!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done. If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be. | ||
Remember that you are writing this how to for interested testers to use to check out your change implementation - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your change. | Remember that you are writing this how-to for interested testers to use to check out your change implementation - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your change. | ||
A good "how to test" should answer these four questions: | A good "how to test" should answer these four questions: | ||
Line 125: | Line 108: | ||
1. How do I prepare my system to test this change? What packages | 1. How do I prepare my system to test this change? What packages | ||
need to be installed, config files edited, etc.? | need to be installed, config files edited, etc.? | ||
2. What specific actions do I perform to | 2. What specific actions do I perform to ensure the change works as it should? | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
Usual testing | 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. | Test that all other software runs well with PostgreSQL 15. | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM-WIDE CHANGES --> | ||
== User Experience == | == User Experience == | ||
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. | |||
== Dependencies == | |||
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 | |||
** perl-DBD-Pg | |||
** pgaudit | |||
** qt | |||
** qt3 | |||
** qt5-qtbase | |||
** qt6-qtbase-postgresql | |||
** 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) | |||
** gambas3 | |||
** kdb | |||
** kea | |||
** kexi | |||
** libpqxx | |||
** orafce | |||
** pg-semver | |||
** pg_auto_failover | |||
** pgsphere | |||
** postgis | |||
** postgresql-ip4r | |||
** postgresql-pgpool-II | |||
** rhdb-utils | |||
** 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. | |||
** pg_repack | |||
Copr with builder dependencies https://copr.fedorainfracloud.org/coprs/osloup/postgresql_update_15_2/ | |||
== Contingency Plan == | == Contingency Plan == | ||
Revert changes in the non-modular packages and provide PostgreSQL 15 as a module stream only. | |||
== Documentation == | == Documentation == | ||
Upgrade strategy: https://www.postgresql.org/docs/15/upgrading.html | |||
== Release Notes == | == Release Notes == | ||
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 | |||
- |
Latest revision as of 16:05, 2 December 2022
PostgreSQL 15
Summary
Update of PostgreSQL (postgresql and libpq components) in Fedora from version 14 to version 15 in the non-modular (main) builds.
Owner
- Name: Ondřej Sloup
- Email: osloup@redhat.com
Current status
- Targeted release: Fedora Linux 38
- Last updated: 2022-12-02
- devel thread
- FESCo issue: #2882
- Tracker bug: #2139102
- Release notes tracker: #894
Detailed Description
Update of PostgreSQL (postgresql
and 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.
Plan
- 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
Feedback
Benefit to Fedora
The latest stable software is used by Fedora users, providing additional features and fixes.
Scope
- Proposal owners:
- Prepare PostgreSQL 15
- Prepare PostgreSQL 14 as a module for Rawhide
- Check software that requires or depends on
postgresql-server
orlibpq
packages 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)
Upgrade/compatibility impact
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.
User Experience
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.
Dependencies
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
- perl-DBD-Pg
- pgaudit
- qt
- qt3
- qt5-qtbase
- qt6-qtbase-postgresql
- 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)
- gambas3
- kdb
- kea
- kexi
- libpqxx
- orafce
- pg-semver
- pg_auto_failover
- pgsphere
- postgis
- postgresql-ip4r
- postgresql-pgpool-II
- rhdb-utils
- 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.
- pg_repack
Copr with builder dependencies https://copr.fedorainfracloud.org/coprs/osloup/postgresql_update_15_2/
Contingency Plan
Revert changes in the non-modular packages and provide PostgreSQL 15 as a module stream only.
Documentation
Upgrade strategy: https://www.postgresql.org/docs/15/upgrading.html
Release Notes
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