PostgreSQL assessments - AWS Database Migration Service

PostgreSQL assessments

This section describes individual premigration assessments for migration tasks that use a PostgreSQL source endpoint.

Validate if source database version is supported by DMS for migration

API key: postgres-check-dbversion

This premigration assessment verifies whether the source database version is compatible with AWS DMS.

Validate the logical_decoding_work_mem parameter on the source database

API key: postgres-check-for-logical-decoding-work-mem

This premigration assessment recommends tuning the logical_decoding_work_mem parameter on the source database. On a highly transactional database where you might have long running transactions or many sub-transactions, it may result in increased logical decoding memory consumption and the need to spill to disk. This results in high DMS source latency during replication. In such scenarios, you might need to tune logical_decoding_work_mem. This parameter is supported in PostgreSQL versions 13 and greater.

Validate whether the source database has any long running transactions

API key: postgres-check-longrunningtxn

This premigration assessment verifies whether the source database has any long running transactions which lasted more than 10 minutes. Starting the task might fail, because by default, DMS checks for any open transactions while starting the task.

Validate the source database parameter max_slot_wal_keep_size

API key: postgres-check-maxslot-wal-keep-size

This premigration assessment verifies the value configured for max_slot_wal_keep_size. When max_slot_wal_keep_size is set to a non-default value, the DMS task may fail due to the removal of required WAL files.

Check if the source database parameter postgres-check-maxwalsenders is set to support CDC.

API key: postgres-check-maxwalsenders

This premigration assessment verifies the value configured for max_wal_senders on the source database. DMS requires max_wal_senders to be set greater than 1 to support Change Data Capture (CDC).

Check if the source database is configured for PGLOGICAL

API key: postgres-check-pglogical

This premigration assessment verifies if the shared_preload_libraries value is set to pglogical to support PGLOGICAL for CDC. Note that you can ignore this assessment if you are planning to use test decoding for logical replication.

Validate if the source table primary key is of LOB Datatype

API key: postgres-check-pk-lob

This premigration assessment verifies if a table's primary key is of Large Object (LOB) datatype. DMS does not support replication if the source table has an LOB column as a primary key.

Validate if the source table has a primary key

API key: postgres-check-pk

This premigration assessment verifies if primary keys exist for the tables used in the task scope. DMS doesn’t support replication for tables without primary keys, unless the replica identity is set to full on the source table.

Validate if prepared transactions are present on the source database

API key: postgres-check-preparedtxn

This premigration assessment verifies if there are any prepared transactions present on the source database. Replication slot creation might stop responding if there are any prepared transactions on the source database.

Validate if wal_sender_timeout is set to a minimum required value to support DMS CDC

API key: postgres-check-walsenderstimeout

This premigration assessment verifies if wal_sender_timeout is set to a minimum of 10000 milliseconds (10 seconds). A DMS task with CDC requires a minimum of 10000 milliseconds (10 seconds), and fails if the value is less than 10000.

Validate if wal_level is set to logical on the source database

API key: postgres-check-wallevel

This premigration assessment verifies if wal_level is set to logical. For DMS CDC to work, this parameter needs to be enabled on the source database.