Subject: Re: pg_upgrade: can I use same binary for old & new?

From: [email-masked]
Date: Sat, 5 Jul 2025 14:24:16 -0400

On Sat, 5 Jul 2025 11:11:32 -0700 Adrian Klaver wrote:

>On 7/5/25 09:52, Pierre Fortin wrote:

>> Wanting to upgrade from:
>> PostgreSQL 15.13 on x86_64-mageia-linux-gnu,
>> compiled by gcc (Mageia 15.1.0-1.mga10) 15.1.0, 64-bit
>> to:
>> PG 17.5
>> 
>> Way back, I was able to use -k|--link option on pg_upgrade (PG13 to PG15);
>> but since then:
>> 
>> - my DB has grown to over 8TB  
>
>How did you measure above?

# du -sb /var/lib/pgsql/data
8227910662297   /var/lib/pgsql/data

>> - even with ~70TB, I don't have enough contiguous disk space to
>>    dump/restore  
>
>What was the pg_dump command?

Didn't try given:
$ df /mnt/db
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdh1        17T   13T  3.0T  82% /mnt/db

I suppose I could dump each of the 1408 objects to various available
drives; but given my previous experience with PG13 to PG15 using --link
which took seconds; I'm hoping to avoid wasting time (at my age, hours
matter).

Cheers,
Pierre

---

From: Tom Lane <[email-masked]>
Date: Sat, 05 Jul 2025 14:30:20 -0400

> 8227910662297   /var/lib/pgsql/data

It's likely that there's a deal of bloat in that.  Even if there's not
much bloat, this number will include indexes and WAL data that don't
appear in pg_dump output.

> /dev/sdh1        17T   13T  3.0T  82% /mnt/db

I'd say give it a try; be sure to use one of the pg_dump modes
that compress the data.

			regards, tom lane

---

From: Adrian Klaver <[email-masked]>
Date: Sat, 5 Jul 2025 12:58:10 -0700

> /dev/sdh1        17T   13T  3.0T  82% /mnt/db

You said you have ~70TB of free space, so where is the other  ~63TB?

-- 
Adrian Klaver
[email-masked]

---

From: Pierre Fortin <[email-masked]>
Date: Sat, 5 Jul 2025 17:11:55 -0400

>You said you have ~70TB of free space, so where is the other  ~63TB?

I never said "free space" with ~70TB; that's the total space on about 8
drives :)
The biggest free space I have is 7.6TB which is less than the 8TB DB;
but thanks to the responses, I should be able to make this work...

Also, I appreciate the clarification re CREATE INDEX (Doh!) and --jobs

Best,
Pierre