Pro ยท Lesson 9 of 11

Homogeneous and heterogeneous examples

Two worked shapes. PostgreSQL to Aurora PostgreSQL, and SQL Server to Aurora PostgreSQL. The steps are the decisions, not a claim that your account's console looks identical.

Sign in to save your place.

Picture it this way

One move stays in the same language. The other hires a translator before the movers. Both still need a truck, a diary of changes, and a count at the end.

PostgreSQL to Aurora PostgreSQL

Create the target schema with the tools you trust: the database's own dump of schema, or a reviewed script. Check extensions Aurora does not offer. Plan sequences so the target does not reuse a key the source will still issue during CDC.

If you use DMS, set wal_level and a slot, test the endpoint from the replication network, include the tables explicitly, run full load and CDC, and watch slot lag so the source disk does not fill. If you use native logical replication instead, you are not in DMS, and that is a valid outcome. Write down which one you picked.

SQL Server to Aurora PostgreSQL

This one is heterogeneous. Run a conversion assessment. Expect manual work on procedural code. Apply the reviewed schema to Aurora. Only then create the DMS task. SQL Server CDC or the replication feature the current DMS source page requires must be on, with log retention that covers the load.

Identity columns and empty tables are a common surprise. Validation can show matching counts while an application insert fails because a sequence was not set past the maximum key. Check the keys with SQL, not only with the DMS percentage.

Example Schema Log
PostgreSQL to Aurora PostgreSQL Mostly the same dialect. Check extensions. Logical WAL and a slot if DMS CDC is the tool
SQL Server to Aurora PostgreSQL Convert first. Read the action items. The SQL Server CDC setup DMS documents for that edition

Same language, or a translator

  1. PostgreSQL
  2. Schema
  3. Aurora

Step 1 of 3Same family: review extensions and keys, then copy.

Lab: write the sequence check

This query shape is PostgreSQL. Run it on a source you are allowed to read. The number is the point of the habit, not a value this page can know.

SELECT MAX(id) AS max_id FROM shop.orders;
-- After load, the target sequence must start above max_id
-- or the first application insert collides.
-- SQL Server identity needs the same conversation
-- with that engine's words, not these words.

Concept summary

Knowledge check

Which example needs a schema conversion assessment first?

Why check MAX(id) against a sequence?

Is DMS required for PostgreSQL to Aurora PostgreSQL?

Official sources

Checked against the linked documentation in October 2026. A later release can move a flag, a price, or a supported pair. Use the page for the version you installed.