本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Microsoft Azure Database for PostgreSQL 灵活服务器作为 AWS DMS 的来源
在使用 AWS DMS 时,您可以将 Microsoft Azure Database for PostgreSQL 灵活服务器作为来源,其方式与 PostgreSQL 大致相同。
有关 AWS DMS 支持作为来源的 Microsoft Azure Database for PostgreSQL 灵活服务器版本的信息,请参阅 的来源 AWS DMS。
设置 Microsoft Azure Database for PostgreSQL 灵活服务器以进行逻辑复制和解码
在数据库迁移期间,您可以使用 Microsoft Azure Database for PostgreSQL 灵活服务器中的逻辑复制和解码功能。
对于逻辑解码,DMS 使用 test_decoding
或 pglogical
插件。如果 pglogical
插件在源 PostgreSQL 数据库上可用,则 DMS 使用 pglogical
创建复制插槽,否则使用 test_decoding
插件。
要将您的 Microsoft Azure for PostgreSQL 灵活服务器配置为 DMS 的来源端点,请执行以下步骤:
在门户上打开“服务器参数”页面。
将
wal_level
服务器参数设置为LOGICAL
。如果要使用
pglogical
扩展,请将shared_preload_libraries
和azure.extensions
参数设置为pglogical
。将
max_replication_slots
参数设置为您计划同时运行的最大 DMS 任务数。在 Microsoft Azure 中,此参数的默认值是 10。此参数的最大值取决于 PostgreSQL 实例的可用内存,每 GB 内存允许使用 2 到 8 个复制插槽。将
max_wal_senders
参数设置为一个大于 1 的值。max_wal_senders
参数用于设置可以运行的并发任务数。默认值是 10。将
max_worker_processes
参数值设置为至少 16。否则,您可能会看到如下错误:WARNING: out of background worker slots.
保存更改。重启服务器以应用更改。
确认您的 PostgreSQL 实例允许来自所连接资源的网络流量。
使用以下命令向现有用户授予复制权限,或创建具有复制权限的新用户。
使用以下命令向现有用户授予复制权限:
ALTER USER
<existing_user>
WITH REPLICATION;使用以下命令创建具有复制权限的新用户:
CREATE USER aws_dms_user PASSWORD 'aws_dms_user_password'; GRANT azure_pg_admin to aws_dms_user; ALTER ROLE aws_dms_user REPLICATION LOGIN;
有关使用 PostgreSQL 的逻辑复制的更多信息,请参阅以下主题: