本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
PostgreSQL 评估
本节介绍使用 PostgreSQL 源端点的迁移任务的单独迁移前评估。
主题
验证 DMS 是否支持源数据库版本进行迁移
API 密钥:postgres-check-dbversion
此迁移前评估可验证源数据库版本是否与兼容。 Amazon DMS
校验源数据库上的logical_decoding_work_mem
参数
API 密钥:postgres-check-for-logical-decoding-work-mem
此迁移前评估建议调整源数据库上的logical_decoding_work_mem
参数。在事务性很强的数据库中,您可能有长时间运行的事务或许多子事务,这可能会导致逻辑解码内存消耗增加,并且需要溢出到磁盘。这会导致复制期间的 DMS 源延迟过高。在这种情况下,您可能需要进行调整logical_decoding_work_mem
。PostgreSQL 版本 13 及更高版本支持此参数。
验证源数据库是否有长时间运行的事务
API 密钥:postgres-check-longrunningtxn
此迁移前评估可验证源数据库是否存在持续时间超过 10 分钟的长时间运行的事务。启动任务可能会失败,因为默认情况下,DMS 会在启动任务时检查是否存在任何未完成的交易。
验证源数据库参数 max_slot_wal_keep_size
API 密钥:postgres-check-maxslot-wal-keep-size
此迁移前评估验证了为配置的值。max_slot_wal_keep_size
当设置max_slot_wal_keep_size
为非默认值时,DMS 任务可能会因为删除所需的 WAL 文件而失败。
检查源数据库参数postgres-check-maxwalsenders
是否设置为支持 CDC。
API 密钥:postgres-check-maxwalsenders
此迁移前评估会验证源数据库max_wal_senders
上为配置的值。DMS 需要设置max_wal_senders
为大于 1 才能支持变更数据捕获 (CDC)。
检查源数据库是否配置为 PGLOGICAL
API 密钥:postgres-check-pglogical
此迁移前评估可验证该shared_preload_libraries
值是否设置pglogical
PGLOGICAL
为支持 CDC。请注意,如果您计划使用测试解码进行逻辑复制,则可以忽略此评估。
验证源表主键是否为 LOB 数据类型
API 密钥:postgres-check-pk-lob
此迁移前评估验证表的主键是否为大型对象 (LOB) 数据类型。如果源表将 LOB 列作为主键,则 DMS 不支持复制。
验证源表是否有主键
API 密钥:postgres-check-pk
此迁移前评估验证任务范围内使用的表是否存在主键。除非在源表上将副本标识设置为,否则 DMS 不支持对没有主键的表full
进行复制。
验证源数据库中是否存在准备好的事务
API 密钥:postgres-check-preparedtxn
此迁移前评估可验证源数据库中是否存在任何准备好的事务。如果源数据库上存在任何准备好的事务,则创建复制槽可能会停止响应。
验证wal_sender_timeout
是否设置为支持 DMS CDC 所需的最小值
API 密钥:postgres-check-walsenderstimeout
此迁移前评估将验证wal_sender_timeout
是否设置为至少 10000 毫秒(10 秒)。使用 CDC 执行的 DMS 任务至少需要 10000 毫秒(10 秒),如果该值小于 10000,则会失败。
验证源数据库上wal_level
是否设置为逻辑
API 密钥:postgres-check-wallevel
此迁移前评估将验证是否设置wal_level
为逻辑。要让 DMS CDC 起作用,需要在源数据库上启用此参数。