本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Postgre SQL 数据库作为同构数据迁移的目标 AWS DMS
您可以使用 Postgre SQL 数据库作为中同构数据迁移的迁移目标。 AWS DMS
AWS DMS 需要一定的权限才能将数据迁移到你的目标 Amazon for Postgre SQL 或 Amaz RDS on Aurora Postgre 数据库。SQL使用以下脚本在 Postgre SQL 目标数据库中创建具有所需权限的数据库用户。
CREATE USER
your_user
WITH LOGIN PASSWORD 'your_password
'; GRANT USAGE ON SCHEMAschema_name
TOyour_user
; GRANT CONNECT ON DATABASEdb_name
toyour_user
; GRANT CREATE ON DATABASEdb_name
TOyour_user
; GRANT CREATE ON SCHEMAschema_name
TOyour_user
; GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMAschema_name
TOyour_user
; #For "Full load and change data capture (CDC)" and "Change data capture (CDC)" data migrations, setting up logical replication requires rds_superuser privileges GRANT rds_superuser TOyour_user
;
在前面的示例中,用您自己的信息替换每个user input placeholder
示例。
要为 for Postgre SQL 目标启用逻辑复制,请将数据库rds.logical_replication
参数组中的参数设置为 1。RDS此静态参数要求重启数据库实例或数据库集群才能生效。有些参数是静态的,只能在服务器启动时进行设置。 AWS DMS 在重新启动服务器之前,会忽略其在数据库参数组中的条目的更改。
Postgre SQL 使用触发器来实现外键约束。在满载阶段,每次 AWS DMS 加载一个表。我们建议您在完全加载期间,关闭目标数据库上的外键约束。为此,请使用以下方法之一:
临时关闭实例的所有触发器,并完成完全加载。
在 Postgr
session_replication_role
SQL e 中更改参数的值。在任何给定时间,触发器可能处于以下状态之一:
origin
、replica
、always
或disabled
。如果将session_replication_role
参数设置为replica
,那么只有处于replica
状态的触发器处于活动状态。否则,触发器保持非活动状态。
使用 Postgre SQL 兼容数据库作为同构数据迁移目标的限制
使用与 Postgre SQL 兼容的数据库作为同构数据迁移的目标时,存在以下限制:
用于连接到数据源的用户名具有以下限制:
长度为 2 到 64 个字符。
不能包含空格。
可以包含以下字符:a-z、A-Z、0-9、下划线 (_)。
必须以 a-z 或 A-Z 开头。
用于连接到数据源的密码具有以下限制:
长度为 1 到 128 个字符。
不能包含以下任何字符:单引号 (')、双引号 (")、分号 (;) 或空格。