A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/database-migration/docs/postgres/create-migration-job-existing-instance below:

Create a migration job to an existing destination instance | Database Migration Service

Skip to main content Create a migration job to an existing destination instance

Stay organized with collections Save and categorize content based on your preferences.


Overview

Database Migration Service uses migration jobs to migrate data from your source database instance to the destination database instance.

Creating a migration job for an existing destination instance includes:

There are certain limitations that you should consider when you want to migrate to a destination instance created outside of Database Migration Service. For example, your Cloud SQL destination instance must be empty or contain only system configuration data. For more information, see Known limitations.

Database Migration Service wizard helps you create a migration job. This wizard consists of the following panes: Get started, Define a source, Create a destination, Define connectivity method, Configure migration databases, and Test and create migration job. Information on how to populate each pane is provided in the following sections of this page.

Create a migration job by using the Google Cloud console

You can pause the creation of a migration job by clicking Save and exit. All of the data that was populated until that point is saved in a draft migration job, and you can access this job in a Drafts tab.

To finish creating a migration job, navigate to the tab, and then click the job. The creation flow resumes from where it was left off. The job remains a draft until you click Create or Create and start.

Define settings for the migration job
  1. Go to the Migration jobs in the Google Cloud console.

  2. Click Create migration job at the top of the page.

  3. Provide a name for the migration job. Choose a friendly name that helps you identify the migration job. Don't include sensitive or personally identifiable information in the job name.

  4. Keep the auto-generated Migration job ID.

  5. Select the source database engine.

  6. Select the destination database engine.

  7. Select the destination region for your migration. This region must be the same as the one where your destination database is located. After you choose the destination region, this selection can't be changed.

    Important: If you plan to use the Cloud SQL for PostgreSQL Enterprise Plus edition, make sure your region is supported for that edition. See Cloud SQL for PostgreSQL Enterprise Plus edition region support.
  8. Specify the migration job type: One-time (snapshot only) or Continuous (snapshot + ongoing changes).

  9. In the Before you continue, review the prerequisites section, click Open to view automatically generated instructions that can help guide you through preparing your source database for the migration. It's best to complete these prerequisites at this step, but you can complete them at any time before you test, or start, the migration job. For more information, see Configure your source.

  10. Click Save and continue.

Specify information about the source connection profile
  1. If you have created a connection profile, then select it from the list of existing connection profiles.

    If you haven't created a connection profile, then create one by clicking Create a connection profile at the bottom of the drop-down list, and then perform the same steps as in Create a source connection profile.

  2. In the Customize data dump configurations section, click Show data dump configurations.

    The speed of data dump parallelism is related to the amount of load on your source database. You can use the following settings:

    If you want to use adjusted data dump parallelism settings, make sure to increase the max_replication_slots, max_wal_senders, and max_worker_processes parameters on your source database. You can verify your configuration by running the migration job test at the end of migration job creation.

  3. Click Save and continue.
Select the destination instance For Cloud SQL sources: If you are migrating from a Cloud SQL instance that uses a Private IP connection to a Cloud SQL instance that uses a non-RFC 1918 address IP range, add the non-RFC 1918 range to the network configuration of your source Cloud SQL instance. See Configure authorized networks in Cloud SQL documentation.
  1. From the Type of destination instance menu, select Existing instance.
  2. In the Select destination instance section, select your destination instance.
  3. Review the information in the Instance details section, and click Select and continue.
  4. To migrate to an existing destination database, Database Migration Service demotes the target instance and converts it to a replica. To signify that the demotion can be safely performed, in the confirmation window, enter the destination instance identifier.
  5. Click Confirm and continue.
Set up connectivity between the source and destination database instances If you're reusing a source connection profile that was used previously for heterogeneous migrations (for example, from Oracle to Cloud SQL to PostgreSQL), then in this step, you must choose a connectivity method. This method will be used for the homogeneous migration from one Cloud SQL for PostgreSQL database instance to another. You must select a connectivity method because the heterogeneous connectivity method isn't relevant for this migration job.
  1. From the Connectivity method menu, select a network connectivity method. This method defines how the newly created Cloud SQL instance will connect to the source database. Current network connectivity methods include IP allowlist, reverse SSH tunnel, and VPC peering.

  2. After selecting the network connectivity method and providing any additional information for the method, click CONFIGURE & CONTINUE.

Configure migration databases

You can select the databases that you want to migrate.

  1. From the Databases to migrate list, select one of the following options:
  2. If you want to migrate specific databases, you can filter the list that appears and select the databases that you want Database Migration Service to migrate into your destination.

    If the list doesn't appear and a database discovery error is displayed, click Reload. If database discovery fails, the job migrates all databases. You can continue with creating a migration job and fix connectivity errors later.

  3. Click Save and continue.
Test and create the migration job

On this final step, review the summary of the migration job settings, source, destination, and connectivity method, and then test the validity of the migration job setup. If any issues are encountered, then you can modify the migration job's settings. Not all settings are editable.

  1. Click TEST JOB to verify that:

    If the test fails, then you can address the problem in the appropriate part of the flow, and return to re-test.

    For more information about reasons why the test might fail and how to troubleshoot any issues associated with the test failing, see Diagnose issues for PostgreSQL.

    The migration job can be created even if the test fails, but after the job is started, it may fail at some point during the run.

  2. Click CREATE & START JOB to create the migration job and start it immediately, or click CREATE JOB to create the migration job without immediately starting it.

    Caution: If you used Terraform to provision your destination database, you might experience configuration drift during the migration job execution. Don't try to re-apply Terraform settings before the migration is complete. For more information, see Terraform configuration drift.

    If the job isn't started at the time that it's created, then it can be started from the Migration jobs page by clicking START.

    Regardless of when the migration job starts, your organization is charged for the existence of the destination instance.

    When you start the migration job, Database Migration Service begins the full dump, briefly locking the source database. If your source is in Amazon RDS or Amazon Aurora, Database Migration Service additionally requires a short (approximately under a minute) write downtime at the start of the migration. For more information, see Data dump parallelism considerations.

  3. The migration job is added to the migration jobs list and can be viewed directly.

  4. Proceed to Review the migration job.

Create a migration job by using Google Cloud CLI

When you migrate to an existing instance by using Google Cloud CLI, you must manually create the connection profile for the destination instance. This isn't required when you use the Google Cloud console, as Database Migration Service takes care of creating and removing the destination connection profile for you.

Before you begin

Before you use gcloud CLI to create a migration job to an existing destination database instance, make sure you:

Create destination connection profile

Create the destination connection profile for your existing destination instance by running the gcloud database-migration connection-profiles create command:

This sample uses the optional --no-async flag so that all operations are performed synchronously. This means that some commands might take a while to complete. You can skip the --no-async flag to run commands asynchronously. If you do, you need to use the gcloud database-migration operations describe command to verify if your operation is successful.

Before using any of the command data below, make the following replacements:

Execute the following command:

Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration connection-profiles \
create postgresql CONNECTION_PROFILE_ID \
  --no-async \
  --cloudsql-instance=DESTINATION_INSTANCE_ID \
  --region=REGION \
  --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration connection-profiles `
create postgresql CONNECTION_PROFILE_ID `
  --no-async `
  --cloudsql-instance=DESTINATION_INSTANCE_ID `
  --region=REGION `
  --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration connection-profiles ^
create postgresql CONNECTION_PROFILE_ID ^
  --no-async ^
  --cloudsql-instance=DESTINATION_INSTANCE_ID ^
  --region=REGION ^
  --display-name=CONNECTION_PROFILE_NAME

You should receive a response similar to the following:

Waiting for connection profile [CONNECTION_PROFILE_ID]
to be created with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Create the migration job Note: The following examples represent a migration scenario where you use the Private IP connectivity between the source and destination databases. If you use a different connectivity type (for example VPC peering or a reverse-SSH tunnel), make sure to add the required flags, such as --peer-vpc, or --vm, --vm-ip, --vm-port, --vpc. For more informations, see Configure connectivity and Google Cloud CLI examples. Note: Only continuous migration type is supported for migrations to Database Migration Service for PostgreSQL.

This sample uses the optional --no-async flag so that all operations are performed synchronously. This means that some commands might take a while to complete. You can skip the --no-async flag to run commands asynchronously. If you do, you need to use the gcloud database-migration operations describe command to verify if your operation is successful.

Before using any of the command data below, make the following replacements:

Execute the following command:

Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --type=CONTINUOUS \
Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --type=CONTINUOUS `
Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --type=CONTINUOUS ^

You should receive a response similar to the following:

Waiting for migration job [MIGRATION_JOB_ID]
to be created with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Demote the destination database

Database Migration Service requires that the destination database instance works as a read replica for the time of migration. Before you start the migration job, run the gcloud database-migration migration-jobs demote-destination command to demote the destination database instance.

Before using any of the command data below, make the following replacements:

Execute the following command:

Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs \
demote-destination MIGRATION_JOB_ID \
  --region=REGION
Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs `
demote-destination MIGRATION_JOB_ID `
  --region=REGION
Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs ^
demote-destination MIGRATION_JOB_ID ^
  --region=REGION
Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: demote-destination
name: OPERATION_ID

To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Manage migration jobs

At this point, your migration job is configured and connected to your destination database instance. You can manage it by using the following operations:

  1. Optional: Verify the migration job.
    We recommend that you first verify your migration job by running the gcloud database-migration migration-jobs verify command.

    For more information, expand the following section:

    gcloud database-migration migration-jobs verify

    Before using any of the command data below, make the following replacements:

    Execute the following command:

    Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs \
    verify MIGRATION_JOB_ID \
      --region=REGION
    Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs `
    verify MIGRATION_JOB_ID `
      --region=REGION
    Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs ^
    verify MIGRATION_JOB_ID ^
      --region=REGION
    Result

    The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: verify
    name: OPERATION_ID
    

    To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

  2. Optional: Retrieve information about databases selected for migration.
    When you migrate specific databases, Database Migration Service needs to retrieve the details about the databases that you selected for the migration job by using the --database-filter flag.

    Before you start the migration job, run the gcloud database-migration migration-jobs fetch-source-objects command.

    For more information, expand the following section:

    gcloud database-migration migration-jobs fetch-source-objects

    Before using any of the command data below, make the following replacements:

    Execute the following command:

    Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs \
    fetch-source-objects MIGRATION_JOB_ID \
      --region=REGION
    Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs `
    fetch-source-objects MIGRATION_JOB_ID `
      --region=REGION
    Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs ^
    fetch-source-objects MIGRATION_JOB_ID ^
      --region=REGION
    Result

    The output is similar to the following:

    Waiting for migration job MIGRATION_JOB_ID
    to fetch source objects with OPERATION_ID
    
    Waiting for operation OPERATION_ID to complete...done.
    
    SOURCE_OBJECT                                      STATE         PHASE              ERROR
    {'database': 'DATABASE_NAME', 'type': 'DATABASE'}  NOT_SELECTED  PHASE_UNSPECIFIED
    {'database': 'DATABASE_NAME', 'type': 'DATABASE'}  STOPPED       CDC                {'code': 1, 'message': 'Internal error'}
    

    To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

  3. Start the migration job.
    Start the migration job by running the gcloud database-migration migration-jobs start command.

    For more information, expand the following section:

    gcloud database-migration migration-jobs start

    Before using any of the command data below, make the following replacements:

    Execute the following command:

    Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION
    Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION
    Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION
    Result

    The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Promote the migration job

Once the migration reaches the Change Data Capture (CDC) phase, you can promote the destination database instance from a read replica to a standalone instance. Run the gcloud database-migration migration-jobs promote command:

Before using any of the command data below, make the following replacements:

Execute the following command:

Linux, macOS, or Cloud Shell Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs \
promote MIGRATION_JOB_ID \
  --region=REGION
Windows (PowerShell) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs `
promote MIGRATION_JOB_ID `
  --region=REGION
Windows (cmd.exe) Note: Ensure you have initialized the Google Cloud CLI with authentication and a project by running either gcloud init; or gcloud auth login and gcloud config set project.
gcloud database-migration migration-jobs ^
promote MIGRATION_JOB_ID ^
  --region=REGION
Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: start
name: OPERATION_ID

To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

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 2025-07-09 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-09 UTC."],[[["Database Migration Service utilizes migration jobs to transfer data from a source database to a destination database, with support for both one-time and continuous migrations."],["Creating a migration job for an existing destination instance involves defining settings, selecting source and destination connection profiles, demoting the destination instance to a read replica, setting up connectivity, and testing the job."],["The Database Migration Service wizard guides you through the creation process, allowing you to save draft migration jobs and resume later."],["Migration jobs can be created and managed using the Google Cloud console or the Google Cloud CLI, offering flexibility in how you define and execute your database migrations."],["When migrating to an existing instance using the Google Cloud CLI, a connection profile for the destination instance must be manually created, unlike when using the Google Cloud Console."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4