-
Notifications
You must be signed in to change notification settings - Fork 4.1k
migrations: Support AWS DMS as a source #84505
Copy link
Copy link
Open
Labels
A-migrationsMigrating to CRDB from another database vendorMigrating to CRDB from another database vendorA-tools-aws-dmsBlocking support for AWS Database Migration ServiceBlocking support for AWS Database Migration ServiceC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-migrations
Metadata
Metadata
Assignees
Labels
A-migrationsMigrating to CRDB from another database vendorMigrating to CRDB from another database vendorA-tools-aws-dmsBlocking support for AWS Database Migration ServiceBlocking support for AWS Database Migration ServiceC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-migrations
#34766 provided support for CRDB to impersonate PG and act as a target for migrations. There is still work remaining if we ever want to support DMS with CRDB as a source. A working prototype is available in #93404.
Initial Load
To get the initial load to work, we need the following:
log_timezonesession variable. I believe this should just be UTC. sql: implement thelog_timezonesession variable #94123pg_timezone_namespg_catalog table sql: implement the pg_timezone_names table #94122DECLARE CURSOR ... WITH HOLD.Replication
replication slotprotocol, including the pg_catalog tables and associated builtins to create a replication slot. In the prototype, we used a global buffer which is populated by CDC using a newly addedreplication://source URI to do so using the "normal connection protocol", which is wrong as the replication slot protocol has its own parser.test_decodingplugin, but others may work too with DMS. Note this means settingPluginNameas an additional parameter on the source endpoint in DMS.relreplidentinpg_catalog.pg_class.Requisite plpgsql and event trigger
Jira issue: CRDB-17695
Epic CC-8911