Thread: Upgrading postgres quickly, without downtime.
Hi admins,
I have a number of pg servers(~100 (each with a couple of replicas, so 300 clusters in total), each with ~2TB data) that is running version 10.
I am planning on upgrading to PG 15 and looking for ways to get it done without downtime and quickly.
There seem to be a couple of ways to do this -
1. dump/restore or upgrade -> but this causes downtime.
2. logical replication/pglogical -> this is going to be slow, adds additional load on the master, and it isnt recommended to do DDL during time.
I do have daily backups of these databases.
Is there a way I can use these daily backups to upgrade to 15 and sync the changes for the day alone?
I can code in C/scripts, and know bit of internals and wanted to ask where to start on this.
I am also open to any alternate ideas.
thanks
karthik
On Fri, 2023-02-17 at 15:01 +0530, Karthik Krishnakumar wrote: > I have a number of pg servers(~100 (each with a couple of replicas, so 300 > clusters in total), each with ~2TB data) that is running version 10. > I am planning on upgrading to PG 15 and looking for ways to get it done > without downtime and quickly. > There seem to be a couple of ways to do this - > 1. dump/restore or upgrade -> but this causes downtime. > 2. logical replication/pglogical -> this is going to be slow, adds additional > load on the master, and it isnt recommended to do DDL during time. > > I do have daily backups of these databases. > Is there a way I can use these daily backups to upgrade to 15 and sync the changes for the day alone? > I can code in C/scripts, and know bit of internals and wanted to ask where to start on this. > I am also open to any alternate ideas. Take 10 minutes downtime and use "pg_upgrade --link". Yours, Laurenz Albe
pg_upgrade --link is the way to go for sure, but pay attention to the details surrounding it for primary and replicas.
Regards,
Michael Vitale
Laurenz Albe wrote on 2/17/2023 7:13 AM:

Regards,
Michael Vitale
Laurenz Albe wrote on 2/17/2023 7:13 AM:
On Fri, 2023-02-17 at 15:01 +0530, Karthik Krishnakumar wrote:I have a number of pg servers(~100 (each with a couple of replicas, so 300 clusters in total), each with ~2TB data) that is running version 10. I am planning on upgrading to PG 15 and looking for ways to get it done without downtime and quickly. There seem to be a couple of ways to do this - 1. dump/restore or upgrade -> but this causes downtime. 2. logical replication/pglogical -> this is going to be slow, adds additional load on the master, and it isnt recommended to do DDL during time. I do have daily backups of these databases. Is there a way I can use these daily backups to upgrade to 15 and sync the changes for the day alone? I can code in C/scripts, and know bit of internals and wanted to ask where to start on this. I am also open to any alternate ideas.Take 10 minutes downtime and use "pg_upgrade --link". Yours, Laurenz Albe
Regards,
Michael Vitale
703-600-9343
