Subject: Postgres compatibility with RHEL

From: Siddhartha Jain <[email-masked]>
Date: Wed, 4 Dec 2024 18:33:38 +0530

Hi,

Please let me know if Postgresql 16 is compatible with RHEL 7.9 version and
RHEL 9.1 version.
I need to upgrade postgres from 11.22 to 16.6 and need information for that
as the OS version is going to upgrade from 7.9 to 9.1.
Also, let me know the strategies if any to upgrade both RHEL and DB.

Thanks,
Siddhartha

---

From: Devrim Gündüz <[email-masked]>
Date: Wed, 04 Dec 2024 15:25:32 +0100

Hi,

No and maybe:

RHEL 7 is already EOLed and we support up to PostgreSQL.15 on that platform.

For RHEL 9: If you need llvmjit subpackage, then you'll need RHEL 9.5. We build the packages on the up2date instances, so some breakage may / may not occur for older RHEL releases.

Regards, Devrim

---

From: Ron Johnson <[email-masked]>
Date: Wed, 4 Dec 2024 09:45:07 -0500

On Wed, Dec 4, 2024 at 8:03 AM Siddhartha Jain <[email-masked]>
wrote:

> Hi,
>
> Please let me know if Postgresql 16 is compatible with RHEL 7.9 version
> and RHEL 9.1 version.
> I need to upgrade postgres from 11.22 to 16.6 and need information for
> that as the OS version is going to upgrade from 7.9 to 9.1.

Are you doing an in-place RHEL upgrade on the server?  If so, then I'd:
1) run pg_dump, "pg_dumpall -g", and save postgresql.conf, pg_hba.conf, etc
files when the server is still RHEL 7.9 and PG 11.22,
2) upgrade to RHEL 9.1 (out of scope for this list),
3) install PG 16.6,
4) what you do next depends on your mount points.

-- 
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

---

From: vrms <[email-masked]>
Date: Sat, 7 Dec 2024 17:43:11 +0100

I believe the best way would be to

   1. setup a new rhel9 server with pg16
   2. get a dump (pg_dumpall) from the old machine onto the new machine
   3. restore that dump
   4. copy pg_hba.conf and postgresql.conf over to the new machine
   4.1. make sure to keep the new postgresql.conf and adjust custom 
settings you may have on the old machine with making sure those settings 
have not changed

If you want to do this close to zero downtime, you could set up logical 
replication to the new pg16 machine and once that is finished switch 
over and promote that to be the new main.

On 04.12.24 14:03, Siddhartha Jain wrote:
> Hi,
>
> Please let me know if Postgresql 16 is compatible with RHEL 7.9 
> version and RHEL 9.1 version.

---

From: Devrim Gündüz <[email-masked]>
Date: Sat, 07 Dec 2024 19:14:06 +0100

Sorry, but pg_dumpall is almost never the best way - or even good way. 

On 7 December 2024 17:43:11 CET, vrms <[email-masked]> wrote:
>  4.1. make sure to keep the new postgresql.conf and adjust custom settings you may have on the old machine with making sure those settings have not changed
>
>If you want to do this close to zero downtime, you could set up logical replication to the new pg16 machine and once that is finished switch over and promote that to be the new main.
>
>
>
>> Please let me know if Postgresql 16 is compatible with RHEL 7.9 version and RHEL 9.1 version.
>> I need to upgrade postgres from 11.22 to 16.6 and need information for that as the OS version is going to upgrade from 7.9 to 9.1.

---

From: "Deepak Pahuja ." <[email-masked]>
Date: Sun, 8 Dec 2024 07:41:59 +0000

Hi

Kindly share the best way in this scenario, as pg_dumpall will be easiest I think too.

Thanks Deepak

Sent from Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Devrim Gündüz <[email-masked]>
Sent: Sunday, December 8, 2024 2:14:06 AM
To: [email-masked] <[email-masked]>; vrms <[email-masked]>
Subject: Re: Postgres compatibility with RHEL

Thanks,
Siddhartha

---

From: Shawn McKee <[email-masked]>
Date: Sun, 8 Dec 2024 08:32:48 -0500

Hi Siddhartha,

We just did something similar.   We had Postrgresql 11 on CentOS 7.9 and
needed to get to RHEL 9.4

We set up new hardware as RHEL 9.4 and installed Postgresql 15.10 on it but
didn't initialize the DB.

   -

   dnf install --enablerepo=pgdg15 postgresql15.x86_64
   postgresql15-contrib.x86_64 postgresql15-libs.x86_64
   postgresql15-server.x86_64
   -

   (version 15.10-1PGDG)

You can get the repos set up on CentOS 7 via:

yum --disablerepo=* -y install
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

We then upgraded the CentOS 7.9 system using the --link option:

/usr/pgsql-15/bin/pg_upgrade --link  --verbose &> ~/pg_upgrade_15.log

On our DB, this took only about 9 seconds (we run just a couple DBs but one
has is tracking 30 million file details) but we have the DB on NVMe devices.

Once you have the master CentOS 7.9 version on Postgresql 15, you can set
up the RHEL 9.4 version as a slave standby node using pg_basebackup.   You
can google for guides like
https://medium.com/@wasiualhasib/postgresql-15-master-slave-configuration-using-streaming-replication-step-by-step-a4ccb2ba7083

Once you are synchronized, you can shutdown the master, shutdown the slave,
reconfigure the slave to be the former master (change hostname and IP
adddress(es)) and bring it back up.

To get to 16 you can run the pg_upgrade command similarly to how you did
the original master on CentOS 7.9.   This process should minimize the
amount of time you have to be down.

Shawn

On Sat, Dec 7, 2024 at 11:43 AM vrms <[email-masked]> wrote:

> replication to the new pg16 machine and once that is finished switch over
> and promote that to be the new main.
>
>
>