

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

# PostgreSQL 評估
<a name="CHAP_Tasks.AssessmentReport.PG"></a>

本節說明使用 PostgreSQL 來源端點之遷移任務的個別預遷移評估。

**Topics**
+ [驗證 DDL 事件觸發是否始終設定為啟用](#CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger)
+ [驗證來源資料庫中是否存在 PostGIS 資料欄](#CHAP_Tasks.AssessmentReport.PG.PostGISColumns)
+ [驗證是否在完全載入程序期間停用目標資料表上的外部金鑰限制](#CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled)
+ [驗證是否存在具有類似名稱的資料表](#CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames)
+ [驗證是否有資料表具有不含主索引鍵的 ARRAY 資料類型](#CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey)
+ [啟用 BatchApplyEnabled 時，驗證目標資料表上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes)
+ [驗證目標資料庫的任何資料表是否具有完全載入遷移任務的次要索引](#CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes)
+ [驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode)
+ [驗證 DMS 是否支援來源資料庫版本以進行遷移](#CHAP_Tasks.AssessmentReport.PG.SourceVersion)
+ [驗證來源資料庫上的 `logical_decoding_work_mem` 參數](#CHAP_Tasks.AssessmentReport.PG.LogicalDecoding)
+ [驗證來源資料庫是否有任何長時間執行的交易](#CHAP_Tasks.AssessmentReport.PG.LongRunning)
+ [驗證來源資料庫參數 `max_slot_wal_keep_size`](#CHAP_Tasks.AssessmentReport.PG.)
+ [檢查來源資料庫參數是否`postgres-check-maxwalsenders`設定為支援 CDC。](#CHAP_Tasks.AssessmentReport.PG.MaxWalSenders)
+ [檢查來源資料庫是否已設定 `PGLOGICAL`](#CHAP_Tasks.AssessmentReport.PG.pglogical)
+ [驗證來源資料表主索引鍵是否為 LOB 資料類型](#CHAP_Tasks.AssessmentReport.PG.pklob)
+ [驗證來源資料表是否具有主索引鍵](#CHAP_Tasks.AssessmentReport.PG.pk)
+ [驗證來源資料庫中是否存在準備好的交易](#CHAP_Tasks.AssessmentReport.PG.preparedtransactions)
+ [驗證 `wal_sender_timeout` 是否設定為支援 DMS CDC 所需的最低值](#CHAP_Tasks.AssessmentReport.PG.waltime)
+ [驗證來源資料庫上的 是否`wal_level`設定為邏輯](#CHAP_Tasks.AssessmentReport.PG.wallevel)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.PG.batchapply)
+ [在找到 LOB 物件時建議最大 LOB 設定](#CHAP_Tasks.AssessmentReport.PG.lobsize)
+ [驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態良好](#CHAP_Tasks.AssessmentReport.PG.pkvalidity)
+ [驗證 AWS DMS 使用者是否具有目標的必要權限](#CHAP_Tasks.AssessmentReport.PG.targetprivileges)
+ [驗證 CDC 免費複寫槽的可用性](#CHAP_Tasks.AssessmentReport.PG.slotscount)
+ [驗證 DMS 使用者完整載入許可](#CHAP_Tasks.AssessmentReport.PG.object.privileges)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.PG.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.PG.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.PG.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.digit.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.digit.mask)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.PG.selection.rules)
+ [驗證目標 PostgreSQL 資料庫是否包含產生的資料欄](#CHAP_Tasks.AssessmentReport.PG.target.generatedcol)
+ [驗證同質 PostgreSQL 遷移中是否存在具體化視觀表](#CHAP_Tasks.AssessmentReport.PG.mat.views)
+ [驗證 REPLICA IDENTITY FULL 是否與 pglogical 外掛程式用量衝突](#CHAP_Tasks.AssessmentReport.PG.repl.identity.full)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.PG.secondary.constraints)
+ [驗證遷移至 Oracle 的 CHAR/VARCHAR 資料欄相容性](#CHAP_Tasks.AssessmentReport.PG.varchar.columns)
+ [驗證已在來源資料庫上設定`idle_in_transaction_session_timeout`設定](#CHAP_Tasks.AssessmentReport.PG.transaction.session)
+ [驗證 AWS DMS 使用者是否具有 AWS受管 PostgreSQL 資料庫所需的角色](#CHAP_Tasks.AssessmentReport.PG.rds.roles)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.PG.read.replica)
+ [驗證來源 Aurora PostgreSQL 僅供讀取複本版本](#CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version)
+ [驗證來源 PostgreSQL 僅供讀取複本版本](#CHAP_Tasks.AssessmentReport.PG.source.replica.version)

## 驗證 DDL 事件觸發是否始終設定為啟用
<a name="CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger"></a>

 **API 金鑰：**`postgres-check-ddl-event-trigger`

 此預遷移評估會驗證 DDL 事件觸發是否設定為 `ENABLE ALWAYS`。當您的來源資料庫也是另一個第三方複寫系統的目標時，DDL 變更可能不會在 CDC 期間遷移。這種情況可能會導致 DMS 無法觸發`awsdms_intercept_ddl`事件。若要解決這種情況，請修改來源資料庫上的觸發條件，如模糊範例中所示：

```
alter event trigger awsdms_intercept_ddl enable always;
```

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證來源資料庫中是否存在 PostGIS 資料欄
<a name="CHAP_Tasks.AssessmentReport.PG.PostGISColumns"></a>

 **API 金鑰：**`postgres-check-postgis-data-type`

 此預遷移評估會驗證在來源和目標引擎中存在的 PostGIS 資料類型資料欄是否不同。 僅 AWS DMS 支援同質 (like-to-like) 遷移的 PostGIS 資料類型。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證是否在完全載入程序期間停用目標資料表上的外部金鑰限制
<a name="CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled"></a>

 **API 金鑰：**`postgres-check-session-replication-role`

 此預遷移評估會驗證目標`REPLICA`上的 `session_replication_role parameter` 是否設定為 ，以在完全載入階段停用外部金鑰限制。對於完全載入遷移類型，您應該停用外部金鑰限制。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證是否存在具有類似名稱的資料表
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames"></a>

 **API 金鑰：**`postgres-check-similar-table-name`

 此預遷移評估會驗證來源上是否有具有類似名稱的資料表。在不同的案例中寫入多個同名資料表可能會導致複寫期間無法預測的行為。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證是否有資料表具有不含主索引鍵的 ARRAY 資料類型
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey"></a>

 **API 金鑰：**`postgres-check-table-with-array`

 此預遷移評估會驗證是否有資料表具有陣列資料類型，而沒有主索引鍵。在完全載入期間，會忽略缺少主索引鍵的`ARRAY`資料類型資料表。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 啟用 BatchApplyEnabled 時，驗證目標資料表上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes"></a>

 **API 金鑰：**`postgres-check-batch-apply-target-pk-ui-absence`

 只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並將逐一 AWS DMS 處理變更。我們建議您為此類資料表建立個別任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證目標資料庫的任何資料表是否具有完全載入遷移任務的次要索引
<a name="CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes"></a>

 **API 金鑰：**`postgres-check-target-secondary-indexes`

 此預遷移評估會驗證是否有資料表在完全載入遷移任務範圍內具有次要索引。我們建議您在完全載入任務期間捨棄次要索引。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode"></a>

 **API 金鑰：**`postgres-batch-apply-lob-mode`

 當複寫中包含 LOB 資料欄時，您只能`BatchApplyEnabled`在有限的 LOB 模式下使用 。使用 LOB 模式的其他選項會導致批次失敗，並將逐一 AWS DMS 處理變更。建議您將這些資料表移至自己的任務，並改用交易套用模式。

如需`BatchApplyEnabled`設定的詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證 DMS 是否支援來源資料庫版本以進行遷移
<a name="CHAP_Tasks.AssessmentReport.PG.SourceVersion"></a>

**API 金鑰：**`postgres-check-dbversion`

此預遷移評估會驗證來源資料庫版本是否相容 AWS DMS。

## 驗證來源資料庫上的 `logical_decoding_work_mem` 參數
<a name="CHAP_Tasks.AssessmentReport.PG.LogicalDecoding"></a>

**API 金鑰：**`postgres-check-for-logical-decoding-work-mem`

此預遷移評估建議調校來源資料庫上的 `logical_decoding_work_mem` 參數。在交易程度高的資料庫中，您可能有長時間執行的交易或許多子交易，這可能會導致邏輯解碼記憶體消耗增加，並且需要溢出到磁碟。這會導致複寫期間高 DMS 來源延遲。在這種情況下，您可能需要調校 `logical_decoding_work_mem`。PostgreSQL 第 13 版及更高版本支援此參數。

## 驗證來源資料庫是否有任何長時間執行的交易
<a name="CHAP_Tasks.AssessmentReport.PG.LongRunning"></a>

**API 金鑰：**`postgres-check-longrunningtxn`

此預遷移評估會驗證來源資料庫是否有任何持續超過 10 分鐘的長時間執行交易。啟動任務可能會失敗，因為 DMS 預設會在啟動任務時檢查是否有任何開啟的交易。

## 驗證來源資料庫參數 `max_slot_wal_keep_size`
<a name="CHAP_Tasks.AssessmentReport.PG."></a>

**API 金鑰：**`postgres-check-maxslot-wal-keep-size`

此預遷移評估會驗證為 設定的值`max_slot_wal_keep_size`。當 `max_slot_wal_keep_size` 設定為非預設值時，DMS 任務可能會因為移除必要的 WAL 檔案而失敗。

## 檢查來源資料庫參數是否`postgres-check-maxwalsenders`設定為支援 CDC。
<a name="CHAP_Tasks.AssessmentReport.PG.MaxWalSenders"></a>

**API 金鑰：**`postgres-check-maxwalsenders`

此預遷移評估會驗證來源資料庫`max_wal_senders`上為 設定的值。DMS 需要`max_wal_senders`設定為大於 1，以支援變更資料擷取 (CDC)。

## 檢查來源資料庫是否已設定 `PGLOGICAL`
<a name="CHAP_Tasks.AssessmentReport.PG.pglogical"></a>

**API 金鑰：**`postgres-check-pglogical`

 此預遷移評估會驗證`shared_preload_libraries`值是否設定為`pglogical``PGLOGICAL`支援 CDC。請注意，如果您打算使用邏輯複寫的測試解碼，您可以忽略此評估。

## 驗證來源資料表主索引鍵是否為 LOB 資料類型
<a name="CHAP_Tasks.AssessmentReport.PG.pklob"></a>

**API 金鑰：**`postgres-check-pk-lob`

此預遷移評估會驗證資料表的主索引鍵是否為大型物件 (LOB) 資料類型。如果來源資料表具有 LOB 資料欄做為主索引鍵，則 DMS 不支援複寫。

## 驗證來源資料表是否具有主索引鍵
<a name="CHAP_Tasks.AssessmentReport.PG.pk"></a>

**API 金鑰：**`postgres-check-pk`

此預遷移評估會驗證任務範圍中使用的資料表是否有主索引鍵。DMS 不支援在沒有主索引鍵的情況下複寫資料表，除非來源資料表`full`上的複本身分設定為 。

## 驗證來源資料庫中是否存在準備好的交易
<a name="CHAP_Tasks.AssessmentReport.PG.preparedtransactions"></a>

**API 金鑰：**`postgres-check-preparedtxn`

此預遷移評估會驗證來源資料庫中是否存在任何預備的交易。如果來源資料庫上有任何預備的交易，複寫槽建立可能會停止回應。

## 驗證 `wal_sender_timeout` 是否設定為支援 DMS CDC 所需的最低值
<a name="CHAP_Tasks.AssessmentReport.PG.waltime"></a>

**API 金鑰：**`postgres-check-walsenderstimeout`

此預遷移評估會驗證 `wal_sender_timeout` 是否設定為至少 10000 毫秒 (10 秒）。具有 CDC 的 DMS 任務需要至少 10000 毫秒 (10 秒），如果值小於 10000，則失敗。

## 驗證來源資料庫上的 是否`wal_level`設定為邏輯
<a name="CHAP_Tasks.AssessmentReport.PG.wallevel"></a>

**API 金鑰：**`postgres-check-wallevel`

 此預遷移評估會驗證 `wal_level` 是否設為邏輯。若要讓 DMS CDC 運作，必須在來源資料庫上啟用此參數。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.PG.batchapply"></a>

**API 金鑰：**`postgres-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用自我管理 PostgreSQL 資料庫做為 AWS DMS 來源來啟用 CDC](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Prerequisites.CDC)。

## 在找到 LOB 物件時建議最大 LOB 設定
<a name="CHAP_Tasks.AssessmentReport.PG.lobsize"></a>

**API 金鑰：**`postgres-check-limited-lob-size`

PostgreSQL 的 LOB 大小計算與其他引擎不同。請確定您在任務設定上設定正確的 LOB 大小上限，以避免任何資料截斷。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態良好
<a name="CHAP_Tasks.AssessmentReport.PG.pkvalidity"></a>

**API 金鑰：**`postgres-check-pk-validity`

資料驗證要求資料表必須有主索引鍵或唯一的索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證 AWS DMS 使用者是否具有目標的必要權限
<a name="CHAP_Tasks.AssessmentReport.PG.targetprivileges"></a>

**API 金鑰：**`postgres-check-target-privileges`

 AWS DMS 使用者在目標資料庫上必須至少有 db\$1owner 使用者角色。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 目標時的安全需求 AWS Database Migration Service](CHAP_Target.PostgreSQL.md#CHAP_Target.PostgreSQL.Security)。

## 驗證 CDC 免費複寫槽的可用性
<a name="CHAP_Tasks.AssessmentReport.PG.slotscount"></a>

**API 金鑰：**`postgres-check-replication-slots-count`

此評估會驗證複寫槽是否可供 CDC 複寫變更。

## 驗證 DMS 使用者完整載入許可
<a name="CHAP_Tasks.AssessmentReport.PG.object.privileges"></a>

**API 金鑰：**`postgres-check-select-object-privileges`

此評估會驗證 DMS 使用者是否對完整載入操作所需的資料表具有必要的 SELECT 權限。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.digits.randomize"></a>

**API 金鑰：**`postgres-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.digits.mask"></a>

**API 金鑰：**`postgres-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.hash.mask"></a>

**API 金鑰：**`postgres-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.PG.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證目標 PostgreSQL 資料庫是否包含產生的資料欄
<a name="CHAP_Tasks.AssessmentReport.PG.target.generatedcol"></a>

**API 金鑰：**`postgres-check-target-generated-cols`

此預遷移評估會驗證目標 PostgreSQL 資料庫是否包含任何產生的資料欄 （包括 STORED 和 VIRTUAL 類型），這些資料欄在遷移期間可能需要特殊處理。計算其他資料欄值的產生資料欄需要特定的驗證，以確保與目標 PostgreSQL 版本的相容性，以及遷移後適當的資料一致性。

## 驗證同質 PostgreSQL 遷移中是否存在具體化視觀表
<a name="CHAP_Tasks.AssessmentReport.PG.mat.views"></a>

**API 金鑰：**`postgres-check-materialized-views`

在 PostgreSQL 資料庫之間遷移時， AWS DMS 無法遷移具體化視觀表。遷移後，必須在目標資料庫上手動建立具體化視觀表。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫作為 DMS 來源的限制](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Limitations)。

## 驗證 REPLICA IDENTITY FULL 是否與 pglogical 外掛程式用量衝突
<a name="CHAP_Tasks.AssessmentReport.PG.repl.identity.full"></a>

**API 金鑰：**`postgres-check-pglogical-replica-identity-full`

此預遷移評估會使用 REPLICA IDENTITY FULL 偵測資料表。雖然 test\$1decoding 外掛程式支援 REPLICA IDENTITY FULL，但將 REPLICA IDENTITY FULL 與 pglogical 搭配使用會阻止正確複寫更新。將 REPLICA IDENTITY 設定變更為 DEFAULT/INDEX，或切換至 test\$1decoding 外掛程式以維護 REPLICA IDENTITY FULL

如需詳細資訊，請參閱[使用邏輯複寫啟用變更資料擷取 (CDC)](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security)。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.PG.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

## 驗證遷移至 Oracle 的 CHAR/VARCHAR 資料欄相容性
<a name="CHAP_Tasks.AssessmentReport.PG.varchar.columns"></a>

**API 金鑰：**`postgres-to-oracle-check-varchar-columns`

此預遷移評估會驗證目標資料庫中使用的 NCHAR/NVARCHAR2 資料類型資料欄是否與來源資料庫中的 CHAR/VARCHAR 資料欄相容。

## 驗證已在來源資料庫上設定`idle_in_transaction_session_timeout`設定
<a name="CHAP_Tasks.AssessmentReport.PG.transaction.session"></a>

**API 金鑰：**`postgres-check-idle-in-transaction-session-timeout`

此預遷移評估會驗證來源資料庫上的 `idle_in_transaction_session_timeout` 參數未設定為 0。

## 驗證 AWS DMS 使用者是否具有 AWS受管 PostgreSQL 資料庫所需的角色
<a name="CHAP_Tasks.AssessmentReport.PG.rds.roles"></a>

**API 金鑰：**`postgres-check-rds-roles`

此預遷移評估會驗證 AWS DMS 使用者是否已設定 AWS受管 PostgreSQL 資料庫的所有必要角色。角色不足可能會導致遷移任務失敗。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.PG.read.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 驗證來源 Aurora PostgreSQL 僅供讀取複本版本
<a name="CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version"></a>

**API 金鑰：**`postgres-aurora-check-source-replica-role-cdc`

此預遷移評估會驗證來源端點是否使用執行版本 16 或更新版本的 Aurora PostgreSQL 僅供讀取複本。CDC 操作需要複寫插槽，Aurora PostgreSQL 不支援 16 之前版本的唯讀節點。

如需詳細資訊，請參閱[作為 PostgreSQL 來源的僅供讀取複本](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica)。

## 驗證來源 PostgreSQL 僅供讀取複本版本
<a name="CHAP_Tasks.AssessmentReport.PG.source.replica.version"></a>

**API 金鑰：**`postgres-check-source-replica-role-cdc`

此預遷移評估會驗證來源端點是否使用執行第 16 版或更新版本的 PostgreSQL 僅供讀取複本。CDC 操作需要複寫插槽，PostgreSQL 不支援 16 之前版本的唯讀節點。

如需詳細資訊，請參閱[作為 PostgreSQL 來源的僅供讀取複本](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica)。