Need suggestions about live migration from PG 9.2 to PG 13 - Mailing list pgsql-general

From Lucas
Subject Need suggestions about live migration from PG 9.2 to PG 13
Date
Msg-id f4KpyDqaPwX1LOBCrUL_MHFxqIo6dloxX_Cff01LsKXbYeYA6F8TkEQMh0dO7N8h6inPf6mhWZbraNIsYVTvJW-_UEwMWpkBYVS9bM-l3hM=@sud0.nz
Whole thread Raw
Responses Re: Need suggestions about live migration from PG 9.2 to PG 13  (Magnus Hagander <magnus@hagander.net>)
List pgsql-general
Hello all,

I'm currently working on a migration from PG 9.2 to PG 13 (RDS) and would like some suggestions, please.

Our current database stack is:
master (pg 9.2) --> slave (pg 9.2) --> slave (pg 9.2 - cascading replication)
                         --> bucardo (ec2 instance) --> RDS (pg 13)

The original plan was:
  1. Get bucardo replication working
  2. Deploy a test environment using the new PG 13 RDS database
  3. Use the test environment and test as much as possible, to make sure our application works with PG 13
  4. Test more
  5. Decide on a date to move all customers to the new database
  6. Stop the replication
However, the business decided that's not the way they want to move forward. If we have issues it would impact our customers, etc, even though we do have the test environment up and running and the application works with it.

Now, the business wants to move a few customers to RDS and leave the rest on PG 9.2... then gradually migrate them to RDS. But they want customers data to be available in both databases, in case we need to move the customers back to 9.2 if we face any issues. So that means a bidirectional replication.

I am not comfortable with that, using Bucardo, and was hopping you guys could suggest an alternative solution? if anybody has ever done something like this, could share their experiences?

BTW - The DB is ~ 1.5TB so pg_upgrade is out of the question, as it takes ages.

Thanks in advance!
Lucas

Attachment

pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: Re: When to REINDEX a serial key?
Next
From: Luca Ferrari
Date:
Subject: pg_upgrade as a way of cloning an instance?