From Fedora Project Wiki
No edit summary
(adding tracker bug)
 
(6 intermediate revisions by 3 users not shown)
Line 2: Line 2:


= Retirement of PostgreSQL 15 =
= Retirement of PostgreSQL 15 =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Line 23: Line 21:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF42]]
<!-- 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 41: Line 39:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [Announced]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/XEZSEDC4VWYVOY2F44474NTURHN55AHH/ Announced]
* [<will be assigned by the Wrangler> Discussion thread]
* [https://discussion.fedoraproject.org/t/f42-change-proposal-retirement-of-postgresql-15-self-contained/136636 Discussion thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/3296 #3296]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2332655 #2332655]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>


Line 111: Line 109:


In the case user's still didn't upgrade to the default stream 16, the standard upgrade strategy should be followed:
In the case user's still didn't upgrade to the default stream 16, the standard upgrade strategy should be followed:
# Stop the `postgresql` service
# Dump and restore upgrade
# Dump the databases using `su - postgres -c "pg_dumpall > /PATH/TO/pgdump_file.sql"`
## Stop the `postgresql` service
# Backup all of the data in `/var/lib/pgsql/data/`
## Dump the databases using `su - postgres -c "pg_dumpall > /PATH/TO/pgdump_file.sql"`
# Upgrade PostgreSQL using (e.g. for upgrading to PG-16) `dnf swap postgresql15* postgresql16*`
## Backup all of the data in `/var/lib/pgsql/data/`
# Copy the old configuration files to the `/var/lib/pgsql/data/`
## Enumerate all postgresql-based packages by `rpm -qa | grep postgresql`
# Start the upgraded systemd service
## Upgrade all installed (enumerated in the previous step) PostgreSQL packages using (e.g. for upgrading to PG-16) `dnf install PACKAGE_NAMES --allowerasing`  
# Import data from the dumped file using `su - postgres -c 'psql -f /PATH/TO/pgdump_file.sql postgres'`
## Copy the old configuration files to the `/var/lib/pgsql/data/`
## Start the `postgresql` service
## Import data from the dumped file using `su - postgres -c 'psql -f /PATH/TO/pgdump_file.sql postgres'`
# Fast upgrade using the pg_upgrade utility
## Stop the `postgresql` service
## Backup all of the data in `/var/lib/pgsql/data/`
## Enumerate all postgresql-based packages by `rpm -qa | grep postgresql`
## Upgrade all installed (enumerated in the previous step) PostgreSQL packages using (e.g. for upgrading to PG-16) `dnf install PACKAGE_NAMES --allowerasing`
## Install the upgrade package `dnf install postgresql-upgrade`
## Run `postgresql-setup --upgrade`
## Copy the old configuration files to the `/var/lib/pgsql/data/`
## Run `# systemctl start postgresql.service`


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->

Latest revision as of 20:39, 16 December 2024


Retirement of PostgreSQL 15

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.

Owner


Current status

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.

Feedback

Benefit to Fedora

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

Scope

  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

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


Early Testing (Optional)

How To Test

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


User Experience

Dependencies

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

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


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


Documentation

N/A (not a System Wide Change)

Release Notes