PostgreSQL assessments
This section describes individual premigration assessments for migration tasks that use a PostgreSQL source endpoint.
Topics
- Validate if source database version is supported by DMS for migration
- Validate the logical_decoding_work_mem parameter on the source database
- Validate whether the source database has any long running transactions
- Validate the source database parameter max_slot_wal_keep_size
- Check if the source database parameter postgres-check-maxwalsenders is set to support CDC.
- Check if the source database is configured for PGLOGICAL
- Validate if the source table primary key is of LOB Datatype
- Validate if the source table has a primary key
- Validate if prepared transactions are present on the source database
- Validate if wal_sender_timeout is set to a minimum required value to support DMS CDC
- Validate if wal_level is set to logical on the source database
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.