Create and configure your destination AlloyDB for PostgreSQL instance

For heterogeneous Oracle migrations to AlloyDB for PostgreSQL, Database Migration Service requires that you first create and configure your AlloyDB for PostgreSQL destination cluster and primary database. Perform the following steps:

  1. Create your destination cluster and primary database. Make sure you configure enough compute and memory resources to cover your migration needs and follow the requirements listed in known limitations.

    We recommend that you create your destination cluster with settings specific to the destination networking method you want to use:

    If you want to use...Then...
    Public IP destination connectivity, Create your destination cluster with public IP enabled for inbound connections. See Create an AlloyDB for PostgreSQL instance in the AlloyDB for PostgreSQL documentation.
    Private IP destination connectivity,

    Determine if you can use a PSC-enabled AlloyDB for PostgreSQL instance as your migration destination. Carefully consider functionality limitations for PSC-enabled instances. See Private Service Connect limitations in the AlloyDB for PostgreSQL documentation.

    • For scenarios where you can use a PSC-enabled AlloyDB for PostgreSQL instance, create your destination cluster with Private Service Connect enabled. See Create a PSC-enabled AlloyDB for PostgreSQL instance in the AlloyDB for PostgreSQL documentation.

      You don't have to create a Private Service Connect endpoint for your destination instance. Database Migration Service can automatically handle the endpoint creation in the background when you create the migration job.

    • For scenarios where you can't use a PSC-enabled AlloyDB for PostgreSQL instance, create your destination cluster enabled with private services access. See Create an AlloyDB for PostgreSQL instance with private services access in the AlloyDB for PostgreSQL documentation.
  2. Create the following entities in your destination cluster:
  3. Grant the required permissions to the dedicated migration user account. Do the following:
    1. Connect to your AlloyDB for PostgreSQL instance with the psql client.
    2. Run the following commands on your destination database:
      GRANT CREATE ON DATABASE DESTINATION_DB_NAME TO MIGRATION_USER_ACCOUNT_NAME;
      GRANT CREATE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER_ACCOUNT_NAME;
      GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA SCHEMA_NAME TO MIGRATION_USER_ACCOUNT_NAME;
    3. Optional: Grant your migration user the CREATEDB permission for the purposes of testing converted schema.

      At a later point in the migration, after you convert the source schema, you can use Database Migration Service to test whether converted schema can be applied to a PostgreSQL database. To perform the test, Database Migration Service creates a temporary database to avoid impacting your destination database. If you want to test your converted schema, grant your migration user the CREATEDB permission. Use the following command:

      ALTER USER MIGRATION_USER_ACCOUNT_NAME WITH CREATEDB;
    4. For source databases that contain foreign keys or triggers: Skip replication for foreign keys and triggers by using the REPLICATION option with the dedicated migration user account. Run the following command:
      ALTER USER MIGRATION_USER_ACCOUNT_NAME WITH REPLICATION;

      For more information about how Database Migration Service migrates foreign keys and triggers, see Considerations for foreign keys and triggers.

What's next?