

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用适用于 PostgreSQL 的谷歌云作为来源 AWS DMS
<a name="CHAP_Source.GCPostgres"></a>

借助 AWS DMS，你可以使用适用于 PostgreSQL 的 Google Cloud 作为来源，其方式与使用自我管理 PostgreSQL 数据库的方式大致相同。

有关支持作为源代码的 GCP PostgreSQL 版本的信息 AWS DMS ，请参阅。[的来源 AWS DMS](CHAP_Introduction.Sources.md)

有关更多信息，请参阅 [使用 PostgreSQL 数据库作为源 AWS DMS](CHAP_Source.PostgreSQL.md)。

## 设置 Google Cloud for PostgreSQL 以进行逻辑复制和解码
<a name="CHAP_Source.GCPostgres.setup"></a>

在数据库迁移期间，您可以使用 Google Cloud for PostgreSQL 中的逻辑复制和解码功能。

对于逻辑解码，DMS 使用以下插件之一：
+ `test_decoding`
+ `pglogical`

如果 `pglogical` 插件在源 PostgreSQL 数据库上可用，则 DMS 使用 `pglogical` 创建复制插槽，否则使用 `test_decoding` 插件。

请注意以下有关使用逻辑解码的 AWS DMS注意事项：

1. 使用 Google Cloud for PostgreSQL，通过将 `cloudsql.logical_decoding` 标志设置为 `on` 来启用逻辑解码。

1. 要启用 `pglogical`，请将 `cloudsql.enable_pglogical` 标志设置为 `on`，然后重新启动数据库。

1. 要使用逻辑解码功能，请使用 `REPLICATION` 属性创建一个 PostgreSQL 用户。使用 `pglogical` 扩展时，用户必须具有 `cloudsqlsuperuser` 角色。要创建具有 `cloudsqlsuperuser` 角色的用户，请执行以下操作：

   ```
   CREATE USER new_aws_dms_user WITH REPLICATION
   IN ROLE cloudsqlsuperuser LOGIN PASSWORD 'new_aws_dms_user_password';
   ```

   要在现有用户上设置此属性，请执行以下操作：

   ```
   ALTER USER existing_user WITH REPLICATION;
   ```

1. 将 `max_replication_slots` 参数设置为您计划同时运行的最大 DMS 任务数。在 Google Cloud SQL 中，此参数的默认值是 10。此参数的最大值取决于 PostgreSQL 实例的可用内存，每 GB 内存允许使用 2 到 8 个复制插槽。

有关使用 PostgreSQL 的逻辑复制的更多信息，请参阅以下主题：
+ [使用逻辑复制启用更改数据捕获（CDC）](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security)
+ [使用本机 CDC 开始点设置 PostgreSQL 源的 CDC 加载](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.v10)
+ [Cloud SQL for PostgreSQL 文档](https://cloud.google.com/sql/docs/postgres)中的[设置逻辑复制和解码](https://cloud.google.com/sql/docs/postgres/replication/configure-logical-replication)。