Subject: pg_upgradecluster version 10 to 16 question

From: Jim Cunning <[email-masked]>
Date: Tue, 10 Jun 2025 13:01:17 -0700

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?

Thanks in advance.

---

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

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.
> 

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.

-- 
Adrian Klaver
[email-masked]

---

From: Adrian Klaver <[email-masked]>
Date: Tue, 10 Jun 2025 13:17:05 -0700

On 6/10/25 13:14, Adrian Klaver wrote:
>> 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 
>> command, a Python script provided by Ubuntu, but it says it cannot 
>> find the database files.
>>

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.