

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Google Cloud for PostgreSQL 做為 的來源 AWS DMS
<a name="CHAP_Source.GCPostgres"></a>

透過 AWS DMS，您可以使用 Google Cloud for PostgreSQL 做為來源，方法與自我管理的 PostgreSQL 資料庫大致相同。

如需 AWS DMS 支援做為來源的 GCP PostgreSQL 版本的資訊，請參閱 [的來源 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 SQL for PostgreSQL 中使用邏輯複寫和解碼功能。

如需邏輯解碼，DMS 會使用下列其中一個外掛程式：
+ `test_decoding`
+ `pglogical`

如果 `pglogical` 外掛程式在來源 PostgreSQL 資料庫上是可用的狀態，則 DMS 會使用 `pglogical` 建立複寫槽，否則會使用 `test_decoding` 外掛程式。

請注意下列有關搭配 使用邏輯解碼的事項 AWS DMS：

1. 使用 Google Cloud SQL 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)。