要解决AWS DMS在PostgreSQL中更新不显示之前的图像的问题,您可以尝试执行以下步骤:
检查源数据库和目标数据库的表结构是否匹配。确保目标表中包含与源表相同的列和数据类型。
确保AWS DMS任务的复制规则中包含了UPDATE操作。您可以检查任务设置中的“任务设置”选项卡,并确保选择了“更新记录(UPDATE)”复选框。
确保源数据库中的图像字段被正确地映射到目标数据库中的图像字段。您可以检查任务设置中的“目标端点”选项卡,并确保正确地映射了源和目标表中的图像字段。
如果您使用的是AWS DMS的CDC(Change Data Capture)功能,请确保源数据库的CDC日志正确地记录了更新操作。您可以检查源数据库的CDC日志配置,并确保更新操作被正确地记录。
以下是一个使用AWS DMS将PostgreSQL中的图像字段从源表复制到目标表的示例代码:
import boto3
# 创建AWS DMS客户端
client = boto3.client('dms', region_name='us-west-2')
# 定义任务设置
task_settings = {
'TargetMetadata': {
'TargetSchema': 'public',
'SupportLobs': True,
'FullLobMode': True
},
'FullLoadSettings': {
'TargetTablePrepMode': 'DROP_AND_CREATE',
'CreatePkAfterFullLoad': True,
'StopTaskCachedChangesApplied': True
},
'Logging': {
'EnableLogging': False
}
}
# 创建DMS任务
response = client.create_replication_task(
MigrationType='full-load',
SourceEndpointArn='arn:aws:dms:us-west-2:123456789012:endpoint:source-endpoint',
TargetEndpointArn='arn:aws:dms:us-west-2:123456789012:endpoint:target-endpoint',
ReplicationInstanceArn='arn:aws:dms:us-west-2:123456789012:rep:replication-instance',
MigrationTaskSettings=task_settings
)
# 启动DMS任务
response = client.start_replication_task(
ReplicationTaskArn='arn:aws:dms:us-west-2:123456789012:task:task-id'
)
请注意,代码示例中的ARN和其他参数需要根据您的实际情况进行替换。
上一篇:AWS DMS的时间戳列中的问题
下一篇:AWS DMS分区数据