Subject: Re: pg_upgradecluster version 10 to 16 question

From: Jim Cunning <[email-masked]>
Date: Wed, 11 Jun 2025 11:59:24 -0700

I configured the PGDG repository and tried to install postgresql-10
on my kubuntu 24.04 LTS desktop system, but apt refused to install
it because of unsatisfied dependencies.  I then installed kubuntu
22.04 LTS on a backup system and was able to install postgresql-10
there.  I was able to use pg_dump to recover all the data and move
it to the replacement server running ubuntu 24.04 LTS with
postgresql-16.  All should be good.  Thanks for the help.

On 6/10/25 13:17, Adrian Klaver wrote:

On
6/10/25 13:14, Adrian Klaver wrote:

On 6/10/25 13:01, Jim Cunning wrote:

I had a Ubuntu 20.04 LTS system with a
postgresql version 10 database, and the system became
unbootable.  The database was stored in
/var/lib/postgresql/10/main and I was able to recover the
entire contents of the data in that directory and below.  I
now have a system running ubuntu 24.04 LTS with postgresql
version 16.

I obviously no longer have a running version 10 server, so I
cannot use pg_dump to retrieve the data.  I have placed the
recovered version files in /var/lib/postgresql/10/main on my
new system, alongside the /var/lib/postgresql/16/main that was
created when I installed postgresql.  I have tried several
iterations of the pg_upgradecluster command, a Python script
provided by Ubuntu, but it says it cannot find the database
files.

I also see from the postgresql wiki pages that there is a
pg_upgrade utility program, but cannot find in any of the
Ubuntu-provided installation files.  Can anyone provide some
guidance on how I might proceed?

1) Do:

man pg_upgradecluster

2) Assuming you used the PGDG repos to install Postgres you can
do:

sudo apt install postgresql-10

to get a Postgres 10 install. I would move the
/var/lib/postgresql/10/main you created out of the way and then
move the contents back in to the installed version.

Forgot to say, be sure and retain a copy of the original 10
$DATADIR somewhere where you can fetch it should the above not
work as planned.

Thanks in advance.

---

From: Bruce Momjian <[email-masked]>
Date: Wed, 11 Jun 2025 15:53:07 -0400

On Wed, Jun 11, 2025 at 11:59:24AM -0700, Jim Cunning wrote:
> I configured the PGDG repository and tried to install postgresql-10 on my
> kubuntu 24.04 LTS desktop system, but apt refused to install it because of
> unsatisfied dependencies.  I then installed kubuntu 22.04 LTS on a backup
> system and was able to install postgresql-10 there.  I was able to use pg_dump
> to recover all the data and move it to the replacement server running ubuntu
> 24.04 LTS with postgresql-16.  All should be good.  Thanks for the help.

Uh, newer vesions of pg_dump should be able to dump from a PG 10
cluster.

---------------------------------------------------------------------------

>     On 6/10/25 13:14, Adrian Klaver wrote:
> 
>             I had a Ubuntu 20.04 LTS system with a postgresql version 10
>             database, and the system became unbootable.  The database was
>             stored in /var/lib/postgresql/10/main and I was able to recover the
>             entire contents of the data in that directory and below.  I now
>             have a system running ubuntu 24.04 LTS with postgresql version 16.
> 
>             I obviously no longer have a running version 10 server, so I cannot
>             use pg_dump to retrieve the data.  I have placed the recovered
>             version files in /var/lib/postgresql/10/main on my new system,
>             alongside the /var/lib/postgresql/16/main that was created when I
>             installed postgresql.  I have tried several iterations of the
>             pg_upgradecluster command, a Python script provided by Ubuntu, but
>             it says it cannot find the database files.
> 
>         2) Assuming you used the PGDG repos to install Postgres you can do:
> 
>         to get a Postgres 10 install. I would move the /var/lib/postgresql/10/
>         main you created out of the way and then move the contents back in to
>         the installed version.
> 
> 
>     Forgot to say, be sure and retain a copy of the original 10 $DATADIR
>     somewhere where you can fetch it should the above not work as planned.
> 
> 
> 
> 
> 
>             Thanks in advance.
> 
> 
> 
> 
> 
> 
> 

-- 
  Bruce Momjian  <[email-masked]>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Do not let urgent matters crowd out time for investment in the future.

---

From: "David G. Johnston" <[email-masked]>
Date: Wed, 11 Jun 2025 13:07:11 -0700

> Uh, newer vesions of pg_dump should be able to dump from a PG 10
A running cluster, yes.  Apparently the PGDG packaging for PG10 is
incompatible with Kubuntu 24.04 thus no running cluster.  It worked in
22.04.  Given that PG10 was obsolete when 24.04 came out this isn’t a shock
to me.

David J.

---

From: Adrian Klaver <[email-masked]>
Date: Wed, 11 Jun 2025 13:10:53 -0700

> Uh, newer vesions of pg_dump should be able to dump from a PG 10

The issue is the OP just had the $DATADIR and no Postgres 10 binaries to 
run an instance.

-- 
Adrian Klaver
[email-masked]

---

From: Bruce Momjian <[email-masked]>
Date: Wed, 11 Jun 2025 16:11:07 -0400

On Wed, Jun 11, 2025 at 01:07:11PM -0700, David G. Johnston wrote:
> A running cluster, yes.  Apparently the PGDG packaging for PG10 is incompatible
> with Kubuntu 24.04 thus no running cluster.  It worked in 22.04.  Given that
> PG10 was obsolete when 24.04 came out this isn’t a shock to me.

Oh, wow, yeah, good point.

---

From: Adrian Klaver <[email-masked]>
Date: Wed, 11 Jun 2025 13:14:10 -0700

On 6/11/25 13:07, David G. Johnston wrote:
> On Wednesday, June 11, 2025, Bruce Momjian <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
> 22.04.  Given that PG10 was obsolete when 24.04 came out this isn’t a 
> shock to me.

That is what is confusing me.

This:

https://apt.postgresql.org/pub/repos/apt/dists/noble-pgdg/10/

indicates it is at least expected to install.