Continuous migrationContinuous (sometimes referred to as ongoing or online) migration is a continuous flow of changes from a source PostgreSQL database to an AlloyDB for PostgreSQL destination that follows an initial full dump and load. In the case of a migration, when the time comes to switch to use the destination for reads and writes, perform a
promoteoperation. Promotion means that the destination instance is disconnected from the source, and is promoted from a replica instance to a primary instance.
Continuous migration follows these steps:
Initially, a snapshot is taken of the source database. This incurs a short (under 10 seconds) lockout on the database tables, one at a time, as the dump is created. The source can continue accepting writes.
After the initial dump is taken, it's loaded into the destination.
After the load is completed, the ongoing changes (also known as change data capture or CDC) are processed.
When the time comes to switch to using the destination, stop writing to the source and initiate a promotion. This allows the application to read and write against the destination database.
Dependent applications can experience downtime for at least the duration of the replication delay at the time of the decision to promote.
This type of migration is a single point-in-time snapshot of the database, taken from the source and applied to the destination. This is essentially a dump and load, where the destination is ready to be used when the load completes. Any applications that depend on the source database can experience downtime during the migration process because there can be no new writes to this database while the migration is in progress.
One-time migration follows these steps:
Stop writing to the source database.
Initiate a dump of the source database.
After the dump is complete, it's loaded into the destination. When the load is completed, a promotion is initiated automatically. The destination database now becomes the primary database, and dependent applications should read and write to it.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-05-26 UTC.