F42 Change Proposal: Retirement of PostgreSQL 15 (Self-Contained)

Retirement of PostgreSQL 15

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

PostgreSQL version 15 will be retired from Fedora 42 since there are newer versions like 16 and 17. Version 16 is already the default version (announced in PostgreSQL16 change), and version 17 would be the alternative.

:link: Owner[edit]

:link: Detailed Description

With the addition of PostgreSQL-17 to Fedora 42, maintaining PG15 is no longer necessary and creates a significant capacity burden. This will also mean the retirement of the dependent components like postgresql15-pgaudit, postgresql15-pg_repack, and postgresql15-decoderbufs.

:link: Feedback

:link: Benefit to Fedora

Lesser PostgreSQL versions to maintain and newer versions with additional features.

:link: Scope

  • Proposal owners:

  • Other developers:

  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy:

:link: Upgrade/compatibility impact

In the case user’s still didn’t upgrade to the default stream 16, the standard upgrade strategy should be followed:

  1. Dump and restore upgrade
  2. Stop the postgresql service
  3. Dump the databases using su - postgres -c "pg_dumpall > /PATH/TO/pgdump_file.sql"
  4. Backup all of the data in /var/lib/pgsql/data/
  5. Enumerate all postgresql-based packages by rpm -qa | grep postgresql
  6. Upgrade all installed (enumerated in the previous step) PostgreSQL packages using (e.g. for upgrading to PG-16) dnf install PACKAGE_NAMES --allowerasing
  7. Copy the old configuration files to the /var/lib/pgsql/data/
  8. Start the postgresql service
  9. Import data from the dumped file using su - postgres -c 'psql -f /PATH/TO/pgdump_file.sql postgres'
  10. Fast upgrade using the pg_upgrade utility
  11. Stop the postgresql service
  12. Backup all of the data in /var/lib/pgsql/data/
  13. Enumerate all postgresql-based packages by rpm -qa | grep postgresql
  14. Upgrade all installed (enumerated in the previous step) PostgreSQL packages using (e.g. for upgrading to PG-16) dnf install PACKAGE_NAMES --allowerasing
  15. Install the upgrade package dnf install postgresql-upgrade
  16. Run postgresql-setup --upgrade
  17. Copy the old configuration files to the /var/lib/pgsql/data/
  18. Run # systemctl start postgresql.service

:link: Early Testing (Optional)

:link: How To Test

The postgresql15* RPMs should not be in the Fedora mirrors and should not be installed.

:link: User Experience

:link: Dependencies

The following dependencies (stand-alone packages) will be retired alongside the postgresql15:

  • postgresql15-pgaudit, postgresql15-pg_repack, and postgresql15-decoderbufs

:link: Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), No

:link: Documentation

N/A (not a System Wide Change)

:link: Release Notes

Last edited by @amoloney 2024-11-12T22:18:04Z

Last edited by @amoloney 2024-11-12T22:18:04Z

1 Like

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

It all looks pretty reasonable to me.

One question though: what happens to a f41 postgresql15 user who then upgrades? Does the upgrade fail due to missing postgresql15 packages? Or does it work, but leave them with no way to upgrade their old database?
Can they still use pg_upgrade from the newer one?

I’m sure there will be folks who don’t see this change and don’t plan for it.

Tested with the exclude option in the repofiles, and the postgresql-15 packages were left out of the dnf upgrade, so the system still has the *.fc41 versions of this package, so the users would have to upgrade it themselves, which would be easy following the upgrade section in the Fedora Change wiki page.

This change proposal has now been submitted to FESCo with ticket #3296 for voting.

To find out more, please visit our Changes Policy documentation.